PG :: UndefinedTable:错误:Multitenant Rails应用程序不存在关系

时间:2016-10-26 12:20:33

标签: ruby-on-rails multi-tenant rails-postgresql apartment-gem

我正在与其他开发人员一起开发多租户Ruby on Rails应用程序。我拉了他的分支并收到了新的迁移文件。我跑了rake db:migrate。我访问该控制器的索引,我得到未定义的错误。

经过一些研究后,我了解到在创建租户后我运行了迁移。 (参考:PG::UndefinedTable: ERROR: relation "..." does not exist)我也理解rake db:reset在开发中解决了这个问题。但是进行重置会清除我在开发中可以使用的数据。

我担心的是,这在生产中如何运作?当我发布到生产时...这是否意味着对于现有租户我无法运行迁移并发布新功能?

对此有永久的解决方案吗?

1 个答案:

答案 0 :(得分:2)

如果在配置文件中设置以下行,

config.tenant_names = lambda{ Customer.pluck(:tenant_name) }

当您运行rake db:migrate时,将迁移所有现有租户的架构。