两个类似的应用程序共享数据库需要根据需求在一个应用程序上添加迁移,并应从其他应用程序运行

时间:2016-04-19 13:01:49

标签: ruby-on-rails rails-migrations ruby-on-rails-4.2

我有两个类似的rails应用程序,并使用一个通用数据库,根据要求,我们必须在两个应用程序上添加迁移。 现在我想要什么

 -  Add a migration on app1
 -  run rake db:migrate one app2

它必须在app1上运行迁移,反之亦然 有可能吗?

简单地说,任何应用程序上添加的任何迁移都应该是在其他应用程序上运行rake db:migrate时更新数据库。

我认为我们可以通过rails引擎做但不确定如何,有什么建议吗?

2 个答案:

答案 0 :(得分:0)

是常见数据库还是常见架构?

如果它实际上是一个共享数据库,那么您只需要运行一次迁移,并且只应将迁移存储在两个应用程序之一中。通过一个应用程序对数据库所做的更改将立即影响另一个应用程序。

答案 1 :(得分:0)

在您的其他应用中,运行此rake任务:

bundle exec rake db:schema:dump

这些将从数据库生成一个模式,无需复制迁移。但没有app1,app2可能无法正常工作。