皆さん、
モデルの属性の値を更新する Rails 移行ファイルを作成した状況があります。この移行をいくつかの実稼働環境で実行したところ、タイプミスが原因でテーブルが更新されていないことに気付きました。これを修正するためのベスト プラクティスは何ですか。現在の移行ファイルを修正して更新し、コミットしてから移行を再実行するか、新しい移行ファイルを作成してこの移行を削除する必要があります。
皆さん、
モデルの属性の値を更新する Rails 移行ファイルを作成した状況があります。この移行をいくつかの実稼働環境で実行したところ、タイプミスが原因でテーブルが更新されていないことに気付きました。これを修正するためのベスト プラクティスは何ですか。現在の移行ファイルを修正して更新し、コミットしてから移行を再実行するか、新しい移行ファイルを作成してこの移行を削除する必要があります。
移行を実行して成功した場合、現在の移行ファイルを更新して移行を再実行しようとすると、移行バージョンが現在の db バージョンと同じになるため、Rails はスキーマを更新しません。
を実行するrake db:migrate:status
と、移行のリストと、適用されているかどうかを確認できるはずです。
それに基づいて、移行status: down
がデータベースにまだ適用されていないことを意味する場合。
すでにデータベースに適用されている場合は、いくつかのオプションを使用できます。
rake db:rollback
ファイルを更新してから、その移行を再実行します