script/generate migration add_fieldname_to_tablename fieldname:datatype
モデルに新しい列を追加するための構文があります。
同じ行に、列のデータ型を変更するためのスクリプト/生成がありますか? それとも、バニラ移行に SQL を直接記述する必要がありますか?
列を から に変更したいdatetime
ですdate
。
ベストアンサー1
使用#列の変更。
change_column(:table_name, :column_name, :date)
# a few more examples:
change_column(:suppliers, :name, :string, limit: 80)
change_column(:accounts, :description, :text)
注: DB 移行以外でも同じ結果を得ることができます。これはテストやデバッグには便利ですが、この方法は非常に慎重に使用する必要があります。
ActiveRecord::Base.connection.change_column(:table_name, :column_name, :date)