为什么我使用db:migrate VERSION = XXX会出现重复版本错误?

时间:2011-02-23 14:56:12

标签: ruby-on-rails ruby migration dbmigrate

我正在使用从Ruby 1.8.6升级到Ruby 1.8.7的应用程序。我创建了许多名为999_whatever_function.rb的迁移脚本,按顺序排序。之前运行的整个集合包含从001430的项目,我添加的项目最多为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 :(得分:0)

我看到你说没有重复的迁移,但这就是触发此错误的原因。仔细检查db / migrate中迁移的前缀。有两个以3500开头吗?

此外,您正在混淆Ruby和Rails。 Ruby的版本是1.8.7,而不是Rails。看起来你正在运行Rails 2.3.4。