Почему я получаю ошибку дублирующейся версии, используя db: migrate VERSION = XXX? - PullRequest
1 голос
/ 23 февраля 2011

Я работаю с приложением, которое было обновлено с 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)?

1 Ответ

0 голосов
/ 23 февраля 2011

Я вижу, что вы говорите, что нет повторяющихся миграций, но именно это вызовет эту ошибку.Дважды проверьте префиксы миграций в db / migrate.Есть ли два, начинающиеся с 3500?

Кроме того, вы объединяете Ruby и Rails.Ruby имеет версию 1.8.7, а не Rails.Похоже, вы работаете с Rails 2.3.4.

...