次の手順を含む、Rails アプリで一連の移行があります。
- 「ユーザー」モデルの基本バージョンを作成する
- このモデルのインスタンスを作成します。ログインして使用を開始できるように、システムに少なくとも 1 人の初期ユーザーが必要です。
- 「ユーザー」モデルを更新して、新しいフィールド/列を追加します。
現在、この新しいフィールド/列で「validates_inclusion_of」を使用しています。これは、これらの移行が適用されたデータベースを既に持っていた最初の開発マシンでうまく機能しました。ただし、新しいマシンに移動してすべての移行を実行すると、移行 3 のフィールドがまだモデル クラスに追加されていないため、validates_inclusion_of が失敗するため、ステップ 2 が失敗します。
回避策として、「validates_...」行をコメントアウトし、移行を実行してコメントを外すことができますが、それは良くありません。
すべての列が追加された後、ユーザーの作成 (ステップ 2) が最後になるように、移行の順序を変更することをお勧めします。
私はレールの初心者ですが、この状況を処理するための好ましい方法は何かを尋ねたいと思いました:)