0

考虑一个基本的 Rails 开发管道,从开发 -> 登台 -> 生产。在上游时,很容易推送代码,然后运行迁移。但是,一段时间后,我希望在暂存数据库中拥有的生产数据库中会建立数据。我假设创建生产数据库的备份,然后覆盖暂存数据库,最后在暂存环境上运行迁移是正确的方法吗?

我的假设是基于 schema_migrations 表,它应该反映当前的模式状态,并且暂存数据库中的模式可能与生产不同。谢谢!

4

1 回答 1

0

我假设创建生产数据库的备份,然后覆盖暂存数据库,最后在暂存环境上运行迁移是正确的方法吗?

我就是这样做的。该schema_migrations表将自动传输到您的暂存环境,因此当您运行迁移时,它将在正确的迁移点开始更新。同时,这是一个很好的测试,可以看到生产数据库确实可以正确迁移。在进行复杂的大升级之前,我经常在开发周期中这样做。它提供了一个带有真实数据的额外“免费”迁移测试用例。

于 2012-06-23T07:34:31.253 回答