という名前のモデルがありend
ます。SQLite を使用する私の開発環境では問題なく動作します。
end
しかし、本番環境では、PostgreSQL が予約語であるためにエラーが発生します。
編集するファイルが多すぎるため、モデル内のフィールドの名前を変更したくありません。
代わりに、モデル内のフィールド名は「end」のままですが、データベース内のこのフィールドの名前はend_date
.
どうすればそれができますか?
という名前のモデルがありend
ます。SQLite を使用する私の開発環境では問題なく動作します。
end
しかし、本番環境では、PostgreSQL が予約語であるためにエラーが発生します。
編集するファイルが多すぎるため、モデル内のフィールドの名前を変更したくありません。
代わりに、モデル内のフィールド名は「end」のままですが、データベース内のこのフィールドの名前はend_date
.
どうすればそれができますか?
あなたの最善の策は、長期的には、ほぼ確実にそれを吸い上げて、すべての Ruby コードを使用するように変更することend_date
です。明らかに、これend
も Ruby のキーワードであるため、面倒です。つまり、検索と置換は機能しません。本当にそれに直面できない場合は、これを試してください。
データベース内の名前を変更してから、次の 2 つのメソッドをモデルに追加します。
class Widget < ActiveRecord::Base
def end
end_date
end
def end=(val)
self.end_date = val
end
end