1

如何在使用 Apartment gem 进行范围界定的多租户应用程序中播种新租户?

我在 seed.rb 中添加了以下内容,但它似乎不适用于公寓:

tenants = Tenant.create([
{
  name: 'User1',
  domain: 'user1'
},
{
  name: 'User2',
  domain: 'user2'
}
])

即使数据库是空白的,seeds.rb 也会尝试两次创建架构,但在我这样做时失败并出现此错误rake db:seed

Apartment::TenantExists: The schema user1 already exists.
4

1 回答 1

4

Rails rake 为您尝试创建的每个租户/模式运行任务。因此,通过首先检查当前模式是否为公共来运行您的创建或播种任务。

这样的事情会做。

if Apartment::Tenant.current == 'public'
  Apartment::Tenant.create('tenant1')
  Apartment::Tenant.create('tenant2')
end
于 2016-11-08T11:34:11.930 回答