2016-04-19 25 views
0

跑,我有两个类似的Rails应用程序,并使用一个共同的数据库,并基于我们必须在这两个应用程序添加迁移的要求。 现在我想什么两个类似的应用程序共享一个DB需要根据需求在一个应用程序添加迁移,应该从其他应用程序

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

它必须在APP1运行迁移目前,反之亦然 这可能吗?

在简单的任何迁移添加任何应用程序应该更新数据库运行时耙分贝:在其他应用程序迁移。

我认为我们可以通过轨道引擎做的,但不知道如何,有何建议?

+0

我不想复制每个应用程序 – Thorin

+0

相同的迁移,你能解释一下为什么你需要运行APP2迁移?在同一个数据库上有两个应用程序进行迁移是一个坏主意。你将不可避免地发生冲突。最好保持在一个分贝。 –

回答

0

它是一个普通的数据库,还是一个通用的模式?

如果它实际上是一个共享的数据库,那么你只需要运行一次迁移,且只能在专卖店的两个应用程序的一个迁移。通过一个应用程序对数据库所做的更改将立即影响其他应用程序。

+0

是很常见的数据库 – Thorin

+0

然后,一旦你在DB1迁移,它会在DB2 –

+0

体现人无我有共同的数据库,一旦移民加在APP1和运行耙分贝:迁移对APP2应该在DB反映,似乎愚蠢的问题,但在我的情况下,我需要这个 – Thorin

0

在你的其他应用程序,运行该rake任务:

bundle exec rake db:schema:dump 

这将产生从数据库架构,没有必要不APP1迁移copied.But,APP 2可能无法正常工作。

相关问题