跳过当前迁移,但应用将来的迁移

时间:2019-05-31 14:45:44

标签: ruby-on-rails rails-migrations

问题: 有什么方法可以避免在已经正确配置的远程数据库上运行当前迁移,同时允许ALSO对其应用将来的迁移?

上下文

我有一个现有的Rails应用程序,该应用程序进行了大量的迁移,到目前为止,它一直在使用本地的postgres数据库。存在一个远程postgres数据库,该数据库应该与我的本地数据库的结构最匹配。

当我尝试连接到它时,出现“待迁移”错误。尝试运行迁移会得到有关已存在表的错误。

我想跳过所有当前的迁移,但是不喜欢我看到的许多类似问题,我想确保将来的迁移可以在此远程数据库上使用。

编辑:

我遵循了这个答案:

Rails 4 how to ignore pending migrations

,然后将我自己的当前方案版本号插入到删除数据库的schema_migrations表中。但是仍在进行迁移。

我可以确认,尝试运行迁移会使我得到一个已经存在的表的错误。该表是架构表中经过远程数据库先前最新版本的第一个迁移。它似乎无视我插入的当前最新版本。

1 个答案:

答案 0 :(得分:2)

您必须将要忽略的所有迁移版本号添加到01-14-19

其他可能也适用的技术-用squasher之类的方法或手动进行迁移压缩。重点是将所有不会回滚的旧迁移组合在一起。