1

Ruby 1.8.6 から Ruby 1.8.7 にアップグレードされたアプリケーションを使用しています。という名前の移行スクリプトをいくつか作成し、999_whatever_function.rb順番に並べました。以前の実行のセット全体には から001まで430のアイテムがあり、私は までのアイテムを追加しました450。使おうとすると

rake db:migrate VERSION=450

このエラーで中止されます

C:\Ruby\projects\db_upgrade>rake db:migrate VERSION=450 --trace

** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate

rake aborted!

**Multiple migrations have the version number 3500**

c:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/migration.rb:507:in `migrations'

スクリプトに重複した番号付けはありませんが、バージョン 1.8.7 では異なるタイプの VERSION 表記 (YYYYMMDDTime) が必要かどうか疑問に思っていますか?

4

1 に答える 1

0

重複した移行はないとおっしゃっていますが、それがこのエラーの原因になります。db/migrate で移行のプレフィックスを再確認します。3500 で始まるものは 2 つありますか?

また、Ruby と Rails を混同しています。Ruby はバージョン 1.8.7 で、Rails ではありません。Rails 2.3.4 を実行しているようです。

于 2011-02-23T15:27:02.060 に答える