1

バージョン番号20120926232105の移行があります。スキーマはバージョン20121003190827です。

私のサイトはHerokuでホストされており、実行すると

heroku run rake db:migrate -a my-app

移行で作成しようとしているテーブル20120926232105がすでに存在しているというエラーが表示されます(必要に応じて)。わかりません-最後に成功した移行がどれであるかを記録するschema_migrationテーブルの要点ではありませんか?

4

1 に答える 1

1

この男はそれをかなりよく説明します。

基本的に、「schema_migrations」と呼ばれるテーブルがどこかにあります。移行の「バージョン番号」は、実際には単なるタイムスタンプです。さらに、「schema_migrations」テーブルにそのタイムスタンプを持つ移行の記録はありません。移行が存在し、そのタイムスタンプが「schema_migrations」テーブルに見つからなかったため、Rakeはそれを実行することを認識しています。

grep -r "table_name" db/migrateそれが2回そこにあるかどうか試してみてください。

于 2012-10-11T20:42:59.823 に答える