次の例のように、列のデフォルト設定を設定するRailsでの移行があるという問題があります。
def self.up
add_column :column_name, :bought_at, :datetime, :default => Time.now
end
後の移行でそのデフォルト設定を削除したいとします。Rails 移行を使用してそれを行うにはどうすればよいですか?
私の現在の回避策は、次のように、レール移行でカスタム sql コマンドを実行することです。
def self.up
execute 'alter table column_name alter bought_at drop default'
end
しかし、基礎となるデータベースがこのコマンドをどのように解釈しているかに依存しているため、このアプローチは好きではありません。データベースが変更された場合、このクエリは機能しなくなり、移行が中断される可能性があります。それで、レールの列のデフォルト設定の取り消しを表現する方法はありますか?