新しい Rails 3.1 アプリケーションを作成しています。この新しいアプリケーションで既存のデータベース (以前の Rails 2 アプリケーションで作成されたもの) を再利用したいと考えています。
データベース内の既存のデータの一部を再利用するモデルを定義する新しいアプリケーションを作成しました。
開発およびテスト段階では、クリーン シート データベースで実行されるため、すべて正常に動作しますが、運用環境にデプロイしようとすると、次のようなメッセージが表示されます。
PGError: ERROR: column "email" of relation "users" already exists
*** [err :: localhost] : ALTER TABLE "users" ADD COLUMN "email" character varying(255) DEFAULT '' NOT NULL
しかし、私は私の移行で次のように考えています
class DeviseCreateUsers < ActiveRecord::Migration
def change
change_table(:users) do |t|
t.database_authenticatable :null => false
t.recoverable
t.rememberable
t.trackable
t.timestamps
end
end
db:migrate に既存のものを無視させ、新しいものや新しいタイプのみを変更させるにはどうすればよいですか?
stackoverflow で同様の質問を見ましたが、この質問に答えている人はいません。回答ありがとうございます。