我正在使用从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)?
答案 0 :(得分:0)
我看到你说没有重复的迁移,但这就是触发此错误的原因。仔细检查db / migrate中迁移的前缀。有两个以3500开头吗?
此外,您正在混淆Ruby和Rails。 Ruby的版本是1.8.7,而不是Rails。看起来你正在运行Rails 2.3.4。