1

我正在使用从 Ruby 1.8.6 升级到 Ruby 1.8.7 的应用程序。我创建了许多名为 的迁移脚本999_whatever_function.rb,按顺序排列。以前运行的整个集合都有从001until 开始的项目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开头的吗?

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

于 2011-02-23T15:27:02.060 回答