Ruby on rails rakedb:migrate不';t工作:什么也没发生

Ruby on rails rakedb:migrate不';t工作:什么也没发生,ruby-on-rails,ruby,activerecord,migration,rake,Ruby On Rails,Ruby,Activerecord,Migration,Rake,在我的计算机上的每一个Rails项目上,因为我已经重新安装了它,所以我不能运行任何迁移:当我在终端中输入rake db:migrate时,什么都不会发生 $ my_project ➜ rails g migration fake_migration invoke active_record create db/migrate/20140806092408_fake_migration.rb $ my_project ➜ rake db:migrate:status

在我的计算机上的每一个Rails项目上,因为我已经重新安装了它,所以我不能运行任何迁移:当我在终端中输入
rake db:migrate
时,什么都不会发生

$ my_project ➜ rails g migration fake_migration

    invoke  active_record
    create  db/migrate/20140806092408_fake_migration.rb

$ my_project ➜ rake db:migrate:status

    database: /Users/me/Documents/my_project/db/development.sqlite3

    Status   Migration ID    Migration Name
    --------------------------------------------------
    down    20140806092408  Fake migration

$ my_project ➜ rake db:migrate

    ** Invoke db:migrate (first_time)
    ** Invoke environment (first_time)
    ** Execute environment
    ** Invoke db:load_config (first_time)
    ** Execute db:load_config
    ** Execute db:migrate
    ** Invoke db:_dump (first_time)
    ** Execute db:_dump
    ** Invoke db:schema:dump (first_time)
    ** Invoke environment
    ** Invoke db:load_config
    ** Execute db:schema:dump

$ my_project ➜ rake db:migrate:status

    database: /Users/me/Documents/my_project/db/development.sqlite3

    Status   Migration ID    Migration Name
    --------------------------------------------------
    down    20140806092408  Fake migration
当我尝试手动迁移时(如注释所示):

$myu项目➜ rake db:migrate:up VERSION=20140806092408——跟踪
雷克流产了!
ActiveRecord::UnknownMigrationVersionError:
没有版本号为20140806092408的迁移
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/migration.rb:933:在“运行”中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active\u record/migration.rb:818:在“运行”中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active\u record/railties/databases.rake:71:in“block(3层)in”
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:在'call'中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:在“执行中的块”中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:在'each'中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:在“执行”中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:179:in`block in invoke_with_call_chain'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/2.1.0/monitor.rb:211:in'mon_synchronize'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:172:'invoke_with_call_chain'
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:165:在“调用”中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:150:在“调用任务”中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:在“顶层的块(2层)”中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:在'each'中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:在“顶级块”中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:115:在“使用线程运行”中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:100:“顶级”
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:78:在“运行中的块”中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:176:在“标准异常处理”中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:75:在“运行”中
/Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/bin/rake:33:in`'
/Users/me/.rbenv/versions/2.1.2/bin/rake:23:在“加载”中
/Users/me/.rbenv/versions/2.1.2/bin/rake:23:in`'
任务:TOP=>db:migrate:up

迁移文件似乎已丢失/删除,因为迁移ID显示为000而不是时间戳。时间戳是唯一的。重新生成迁移,然后rake db:migrate。

通过使用Vagrant而不是本地安装解决了问题。
我真的不知道是什么问题,可能与Mac OS X有关。

如果有人遇到这个问题,请密切关注您的环境变量。若您定义了一个名为“VERSION”的环境变量,它将阻止迁移任务


我使用dotenv gem来管理railsn的本地开发环境变量,当我删除了一个名为VERSION的变量(我创建它是为了管理API版本)时,迁移按预期进行。

我完成了
rake db:migrate:reset
,迁移“000”被删除。不管怎样,问题仍然存在。我已经用新的代码示例更新了我的帖子。请使用rake db:migrate:up VERSION=20140806092408或rake db:migrate VERSION=20140806092408。
没有版本号为20140806092408的迁移。
:更新上述代码以反映这一点。请尝试使用rake db:migrate VERSION=0,然后使用rake db:migrate:migrate。如果它不起作用,请尝试rake db:reset,然后尝试rake db:migrate。我想知道这个问题是否与这个问题无关:谢谢你保存了我的理智。事实证明,fedora silverblue上的
工具箱设置了这个环境变量。试图解决这个问题简直疯了
$ my_project ➜ rake db:migrate:up VERSION=20140806092408 --trace

    rake aborted!
    ActiveRecord::UnknownMigrationVersionError:

    No migration with version number 20140806092408

    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/migration.rb:933:in `run'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/migration.rb:818:in `run'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/railties/databases.rake:71:in `block (3 levels) in <top (required)>'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
    /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/bin/rake:33:in `<top (required)>'
    /Users/me/.rbenv/versions/2.1.2/bin/rake:23:in `load'
    /Users/me/.rbenv/versions/2.1.2/bin/rake:23:in `<main>'
    Tasks: TOP => db:migrate:up