私は、それをもう学びました add_column
持っています :after
オプションは、列が挿入される場所を設定します。残念ながら私はそれについて学んだ。
列を並べ替えるだけの移行を作成するにはどうすればよいですか?
change_column
を呼び出すことはできますが、列タイプを繰り返す必要があります(他のマイグレーションからコピーして貼り付けるだけです):
def up
change_column :your_table, :some_column, :integer, after: :other_column
end
または、1つのテーブルで複数の列を並べ替える必要がある場合:
def up
change_table :your_table do |t|
t.change :some_column, :integer, after: :other_column
# ...
end
end
change_column
は内部でALTER TABLE
を呼び出します。 MySQLから ドキュメント :
FIRST
またはAFTER
操作でCHANGE
およびMODIFY
を使用して、テーブル内の列を並べ替えることもできます。