删除具有重复迁移名称

时间:2016-11-16 12:29:22

标签: ruby-on-rails-4

我正在使用c9中的rails应用程序。我在终端创建了一个迁移命令的迁移,(rails生成迁移CreateContacts),它生成了一个迁移文件(20160928153918 create_contacts.rb)。该应用程序被推送到Heroku,但是当我继续我的Rails应用程序项目时,我注意到包括此迁移文件在内的某些文件没有反映在文件目录中。我还是学生学习Web开发,我开始创建一个新的迁移文件(20161109062718 create_contacts.rb),不知道上一个迁移文件发生了什么。 从那以后我收到此错误消息:" ActiveRecord :: PendingMigrationError正在等待迁移。要解决此问题,请运行:bin / rake db:migrate RAILS_ENV = development"。当我在终端中输入此命令时,($ bin / rake db:migrate RAILS_ENV = development)我收到以下错误消息:" ActiveRecord :: DuplicateMigrationNameError:多次迁移的名称为CreateContacts"。当我输入以下命令时,$ rake db:migrate:status,它表示以下内容:

状态迁移ID迁移名称

up 20160928153918创建联系人   20161109062718创建联系人

两个迁移都具有相同的迁移名称,创建联系人,现在这显然是错误消息的原因。 要解决此问题,将文件目录中的最新20161109062718 create_contacts.rb文件删除为此重复迁移名称的解决方案,创建联系人?我不想删除我的第一个迁移文件,20160928153918 create_contacts.rb。如果可以简单地删除最新文件,那么还有哪些其他命令与此操作相关联?找到我的问题的附加照片。

我还需要专家建议,因为我还在学习交易 Duplicate migration names

[待迁移1

1 个答案:

答案 0 :(得分:1)

通过在控制台中输入:rake db:migrate:status,列出了迁移,在文件目录中删除了实际的重复迁移,此后在控制台中输入了以下内容,git status; git add。; git commit -m"删除了迁移"问题解决了。