0

私自身の愚かさの直接の結果として、私はどういうわけか私のデータベースを壊れた状態にすることができ、それを修正する方法を理解することができません。

問題は、私のデータベース移行の1つでのタイプミスから始まりました。列を追加していて、列を追加したいテーブルの名前のつづりを間違えました。'rake db:migrate'を実行しましたが、失敗しました。そこで、タイプミスを修正して、「rake db:migrate」を再度実行しましたが、何も起こりませんでした。そこで、おそらくrailsがすでに移行を完了していると考えて、「rake db:rollback」を実行しました。これは、列を追加しようとしているテーブルを削除したときに、最終的に問題を解決したように見えました。

このすべての最終結果は、私のデータベースのバージョンが、railsが考えているものと同期していないということです。'rake db:migrate:up'と'rake db:migrate:down'(バージョン番号付き)を使用してみましたが、これは役に立ちませんでした。問題のあるテーブルを作成した移行を明示的に実行しようとしても、何も起こりません(「ダウン」バージョンを実行すると、テーブルを削除できないと表示されます)。dbに直接アクセスして問題テーブルにパッチを適用できることはわかっていますが、この問題に対する「適切な」解決策があるかどうかを確認するのがよいと思いました。

どうもありがとう

4

2 に答える 2

0

ここでソリューションを使用します: Rails:開発の初期段階で移行を変更する

于 2010-09-21T20:19:33.467 に答える
-3

rake db:reset

何らかの理由で、回答を投稿するための最低30文字があります:-)

于 2011-06-18T23:07:51.497 に答える