公寓 gem - 不创建表 postgresql
apartment gem - not creating tables postgresql
Rails 5.x
, postgres , apartment
gem
仅在 Apartment::Tenant.create('microsoft')
其他 20 个表未创建时创建了以下两个表,仍在 public 模式中。 microsoft
已创建架构但未创建表
这是我的 apartment.rb
config.excluded_models = %w{ Account }
和租户姓名
config.tenant_names = lambda { Account.pluck :domain }
使用模式
config.use_schemas = true
当我做 rake db:migrate
时,它没有在 schema.rb 上创建任何东西,而我创建了一个带公寓的新应用程序。它在 schema.rb.
内生成另一组迁移
例如:create_table "companies", force: :cascade do |t|
请检查初始化程序中的 apartment.rb
文件。
确认您的新租户已配置。如果您有静态数组,则需要对其进行扩展。
config.tenant_names = ['tenant1', 'myothertenant', 'microsoft']
您可以通过在配置中添加一个 lambda 来使其成为动态的:
config.tenant_names = lambda { some_tenant_loading_func }
同时检查您是否设置了 pg 特定选项:
config.use_schemas = true
此选项指定是使用 PostgreSQL 模式还是为每个租户创建一个新数据库。
sql
格式已启用 config/application.rb
config.active_record.schema_format = :sql
如公寓配置中所述,
公寓可以强制使用原始 SQL 转储而不是 schema.rb 来创建新模式。
当您在 PostgreSQL 中使用一些无法在
schema.rb,如物化视图等(仅适用于 use_schemas 设置为 true)。
(注意:此选项不使用 db/structure.sql,它通过执行 pg_dump 创建 SQL 转储)
config.use_sql = true
已解决问题。
Rails 5.x
, postgres , apartment
gem
仅在 Apartment::Tenant.create('microsoft')
其他 20 个表未创建时创建了以下两个表,仍在 public 模式中。 microsoft
已创建架构但未创建表
这是我的 apartment.rb
config.excluded_models = %w{ Account }
和租户姓名
config.tenant_names = lambda { Account.pluck :domain }
使用模式
config.use_schemas = true
当我做 rake db:migrate
时,它没有在 schema.rb 上创建任何东西,而我创建了一个带公寓的新应用程序。它在 schema.rb.
例如:create_table "companies", force: :cascade do |t|
请检查初始化程序中的 apartment.rb
文件。
确认您的新租户已配置。如果您有静态数组,则需要对其进行扩展。
config.tenant_names = ['tenant1', 'myothertenant', 'microsoft']
您可以通过在配置中添加一个 lambda 来使其成为动态的:
config.tenant_names = lambda { some_tenant_loading_func }
同时检查您是否设置了 pg 特定选项:
config.use_schemas = true
此选项指定是使用 PostgreSQL 模式还是为每个租户创建一个新数据库。
sql
格式已启用 config/application.rb
config.active_record.schema_format = :sql
如公寓配置中所述,
公寓可以强制使用原始 SQL 转储而不是 schema.rb 来创建新模式。 当您在 PostgreSQL 中使用一些无法在 schema.rb,如物化视图等(仅适用于 use_schemas 设置为 true)。 (注意:此选项不使用 db/structure.sql,它通过执行 pg_dump 创建 SQL 转储)
config.use_sql = true
已解决问题。