1

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

经过一些研究,我了解到我在创建租户后运行了迁移。(参考:PG::UndefinedTable: ERROR: relationship "..." doesn't exist)而且我也知道 rake db:reset 在开发中解决了这个问题。但是进行重置会清除我在开发中很好的数据。

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

有一个永久的解决方案吗?

4

1 回答 1

2

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

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

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

于 2016-10-26T12:49:21.637 回答