私は最初にレール3.1で書いていたアプリを持っていましたが、ヒロクのスラッグサイズを減らすために、新しいレール3.0.9アプリを作成し、必要なコードを手動で移動しました。すべてが期待どおりに1ヶ月間働いたが、rake db:schema:loadを使用していたのは、dbスキーマを変更しなかったためです。今日私はスキーマを変更しようとしましたが、移行は何もしていません。彼らは彼らが実行していると思うように見えると彼らはバージョンを追跡しているが、私はコンソールには何も出力されず、dbに変更されず、schema.rbファイルも変更されていません。正しいバージョンを維持する以外は、移行で何も起こらないでしょうか?
rake db:migrate --trace
実際には** Execute db:schema:dump
と表示されますが、schema.rbファイルにはまだ追加しようとしていた列がありません。誰が何が起こっているか考えている?アプリケーションがデータベースに接続されていて、すべて正常に動作しています。マイグレーションを実行できないようです。私はschema.rbファイルを変更してrake:db:loadを再度実行することができましたが、運用環境でのデータの損失を避けたいと考えています。
私は実際にこのことをIRCチャンネルの誰かに説明し、電球が私の頭の中で消えてしまった。感謝エミリー、私は気が気になりません;)行く時間はそれらを変更します。 – loucal
私はちょうどこれで少しも得た。 up/downはクラスメソッドなので、 "def change"を "def self.up"に変更し、 "def self.down"を追加します。 – tee
ありがとう、ティー。いいキャッチ! – Emily