0

アプリの主要なリファクタリングを終えており、移行をクリーンアップしようとしています。私は変更を加え、データベースをリセットして再移行した後、すべてがローカルでうまく機能します。

本番環境では、移行を実行できません。考えられるリセット、ドロップなどのすべての組み合わせを試しましたが、このエラーが発生し続けます。

本番データベースがリセットされていないようで、移行が中断されています。ヒントをいただければ幸いです。

==  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)
4

1 に答える 1

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
于 2013-04-07T18:21:21.933 に答える