考虑一个基本的Rails开发管道,从开发开始 - >分期 - >生产。上游时很容易推送代码,然后运行迁移。但是,一段时间后,数据将在我想要在登台数据库中生成的生产数据库中建立。我假设创建生产数据库的备份,然后覆盖登台数据库,最后在登台环境上运行迁移是正确的方法吗?
我的假设是基于schema_migrations表,它应该反映当前的架构状态,并且登台数据库中的架构可能与生产不同。谢谢!
答案 0 :(得分:0)
我认为创建生产数据库的备份,然后覆盖登台数据库,最后在登台环境中运行迁移是正确的方法吗?
我就是这样做的。 schema_migrations
表将自动传输到您的临时环境,因此当您运行迁移时,它将在正确的迁移点开始更新。同时,这是一个很好的测试,可以确保生产数据库确实可以正确迁移。在进行复杂的大型升级之前,我经常在开发周期中这样做。它提供了一个额外的“免费”迁移测试用例和实际数据。