如何在使用现有数据库的新应用程序中处理旧的和新的迁移?

时间:2016-08-18 00:01:02

标签: ruby-on-rails

我有一个旧应用程序,它有一堆生成数据库的迁移,我们称之为old_db。我现在有一个使用old_db的新应用程序。我将在新的应用程序中编写新的迁移,这将影响old_db。出于开发和测试目的,我该如何最好地处理这个问题?

  1. 我应该将所有旧迁移复制到我的新应用中吗?如果我这样做,我如何确保一旦投入生产,只会运行新的迁移?

  2. 我应该在新应用中进行新的迁移吗?但是,如果我这样做,除了新迁移的更新之外,我如何确保我的测试数据库获取old_db的快照?

1 个答案:

答案 0 :(得分:0)

您只需将旧的应用程序数据库架构复制到新应用程序即可。然后,您可以使用old_db管理仅与新应用程序相关的迁移。

请注意,这种方法并不能保证旧应用程序能够正常运行。因为您可以添加新应用程序将使用的数据库约束,但旧应用程序将不会了解它们。

因此,从我这一方面来看,最简单,最安全的方法是使用与旧版本具有相同模式的另一个数据库。