Rails丢失迁移文件问题



2个月前,我的一个迁移文件已被删除。问题是,当我在localhost中耙数据库:迁移我的数据库时,迁移就丢失了。我不能创建新的迁移,因为生产数据库是用丢失的文件迁移的。所以每次我在本地导入生产数据库并运行迁移时,它都会说:

字段已存在

我看到一些评论,说我应该用相应版本的迁移文件修改schema_mmigrations表。

你对这个问题有什么更深入的解释吗。

感谢

schema_mmigrations表包含所有已运行的迁移的所有版本号,或者系统认为至少已运行的版本号。执行rake db:migrate时,rails会查看db/migrate中的所有文件,并忽略数字前缀在schema_migrations中的文件。

因此,如果您有一个迁移实际上已经运行,但系统认为它还没有运行,那么您只需要将其版本号添加到schema_mmigrations中。

打开相关数据库控制台,键入

insert into schema_migrations (version) values("<the number from the start of the migration file>");

显然,替换<>中的部件使用正确的编号。

然后,db:migrate将不再尝试并运行该迁移。

相关内容

  • 没有找到相关文章

最新更新