3

皆さん、

モデルの属性の値を更新する Rails 移行ファイルを作成した状況があります。この移行をいくつかの実稼働環境で実行したところ、タイプミスが原因でテーブルが更新されていないことに気付きました。これを修正するためのベスト プラクティスは何ですか。現在の移行ファイルを修正して更新し、コミットしてから移行を再実行するか、新しい移行ファイルを作成してこの移行を削除する必要があります。

4

1 に答える 1

2

移行を実行して成功した場合、現在の移行ファイルを更新して移行を再実行しようとすると、移行バージョンが現在の db バージョンと同じになるため、Rails はスキーマを更新しません。

を実行するrake db:migrate:statusと、移行のリストと、適用されているかどうかを確認できるはずです。

それに基づいて、移行status: downがデータベースにまだ適用されていないことを意味する場合。

すでにデータベースに適用されている場合は、いくつかのオプションを使用できます。

  1. rake db:rollbackファイルを更新してから、その移行を再実行します
  2. タイプミスを修正する新しいファイルを作成します。間違ったデータで移行を削除しても、テーブルに対して何をしたか、および新しい移行でどのように修正したかによっては、データベースが修正されないことに注意してください。
于 2013-03-26T14:57:22.583 に答える