在部署到生产后编辑迁移

时间:2013-01-30 20:59:40

标签: ruby-on-rails database ruby-on-rails-3 rails-migrations

我正在完成对应用程序的重大重构,我正在尝试清理迁移。在重新设置数据库并重新迁移数据库后,我已经进行了更改,一切都在本地运行。

在生产中,我无法运行迁移。我已经尝试了我能想到的重置,丢弃等各种组合,但我一直收到这个错误。

生产数据库似乎没有被重置,导致迁移中断。任何提示将不胜感激。

==  AddFieldsToUsers: migrating ===============================================
-- add_column(:users, :company, :string)
rake aborted!
An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: duplicate column name: company: ALTER TABLE "users" ADD "company" varchar(255)

1 个答案:

答案 0 :(得分:1)

要重置数据库,您可以在生产模式下再次删除和迁移数据库。

rake db:drop db:create db:migrate RAILS_ENV=production

而且,如果您想编辑某些特定的迁移,可以使用其版本号

重置它
rake db:migrate:down VERSION=<version no.> RAILS_ENV=production

编辑迁移文件,然后

rake db:migrate:up VERSION=<version no.> RAILS_ENV=production