私はprofiles
という名前のテーブルをいくつかの列に持っています。Rails 3.1 change_tableの移行で列を追加する
今度は、レール3.1のchange
の方法を使用してこの表にいくつかの列を追加します。私は、次のコードでの移行を作成:
def change
change_table :profiles do |t|
t.string :photo
t.string :name
t.references :user
end
end
移行が完璧に動作しますが、私はロールバックしたいとき、私はなぜ
SQLite3::SQLException: duplicate column name: photo: ALTER TABLE "profiles" ADD "photo" varchar(255)
任意のアイデアを得ますか?
何ADD_COLUMNとの参照の追加については?私はこれのようにすることができると思います:http://stackoverflow.com/questions/493777/add-column-for-references-rails/493802#493802しかし、それはより柔軟に移行に直接追加することができるでしょうどういうわけか。 – martnu
@martnu:参照を追加すると、整数型のIDフィールドがテーブルに追加されます。これを 'add_column:profiles、:user_id、:integer'で複製できます。 – sevenseacat
'reference'は' assoc_id'カラムにもインデックスを追加します。これは便利です。 – Jeriko