3

作成したテーブルを含め、前回のコミット以降に行ったすべてのことを取り除きたいので、

git reset --hard HEAD
git clean -f -d

これで、私が作成した移行が削除されましたが、スキーマでは、テーブルがまだ存在しているように見えます。新しい移行を作成してそれらのテーブルを削除できることはわかっていますが、データベースレベルでも、最後のコミットにリセットするにはどうすればよいか、今後の参考資料として考えていました。

データベース内のテーブルを削除する必要があるもう1つの理由は、正確なテーブルを作成するために移行(モデル)を作成しようとすると、エラーが発生し、既に存在していると表示されるためです。したがって、これをgithubと本番環境にプッシュすると、移行が存在しないため、テーブルは作成されません。したがって、作成したテーブルを何らかの方法でローカルに削除(できればロールバック)してから、移行を再作成する必要があると思います。

(私はPostGreSQlを使用しています)

4

1 に答える 1

1

そのため、これを一時的に解決しましたが、おそらく最も理想的な方法ではありません。テーブルを削除するための移行を作成し、rake db:migrateを実行してから、移行を削除しました。だからこのようにそれは決して起こらなかったようです。

于 2012-05-13T23:05:18.160 に答える