Ruby on rails 3.2 雷克流产了!错误的常量名称0Bak

Ruby on rails 3.2 雷克流产了!错误的常量名称0Bak,ruby-on-rails-3.2,rake,Ruby On Rails 3.2,Rake,在使用Capistrano部署后,要让我的应用程序成功运行rake db:migrate,我遇到了一个真正的问题。该应用程序在开发模式下运行良好,但当我尝试部署到我的Ubuntu 12.04服务器时,我得到以下输出: /var/mdnapp/current$ bundle exec rake db:migrate --trace ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute envi

在使用Capistrano部署后,要让我的应用程序成功运行rake db:migrate,我遇到了一个真正的问题。该应用程序在开发模式下运行良好,但当我尝试部署到我的Ubuntu 12.04服务器时,我得到以下输出:

/var/mdnapp/current$ bundle exec rake db:migrate --trace
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:migrate
rake aborted!
An error has occurred, all later migrations canceled:

wrong constant name 0Bak
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.2/lib/active_support/inflector/methods.rb:229:in `const_defined?'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.2/lib/active_support/inflector/methods.rb:229:in `block in constantize'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.2/lib/active_support/inflector/methods.rb:228:in `each'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.2/lib/active_support/inflector/methods.rb:228:in `constantize'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.2/lib/active_support/core_ext/string/inflections.rb:54:in `constantize'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/migration.rb:522:in `load_migration'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/migration.rb:517:in `migration'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/migration.rb:512:in `migrate'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/migration.rb:704:in `block (2 levels) in migrate'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/migration.rb:761:in `call'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/migration.rb:761:in `ddl_transaction'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/migration.rb:703:in `block in migrate'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/migration.rb:684:in `each'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/migration.rb:684:in `migrate'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/migration.rb:554:in `up'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/migration.rb:535:in `migrate'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/railties/databases.rake:153:in `block (2 levels) in <top (required)>'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:228:in `call'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:228:in `block in execute'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:223:in `each'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:223:in `execute'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:166:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:159:in `invoke_with_call_chain'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:152:in `invoke'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:143:in `invoke_task'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:101:in `block (2 levels) in top_level'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:101:in `each'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:101:in `block in top_level'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:110:in `run_with_threads'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:95:in `top_level'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:73:in `block in run'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:70:in `run'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/bin/rake:33:in `<top (required)>'
/var/mdnapp/shared/bundle/ruby/1.9.1/bin/rake:23:in `load'
/var/mdnapp/shared/bundle/ruby/1.9.1/bin/rake:23:in `<main>'
Tasks: TOP => db:migrate
/var/mdnapp/current$bundle exec rake db:migrate--trace
**调用数据库:迁移(第一次)
**调用环境(第一次)
**执行环境
**调用数据库:加载配置(第一次)
**调用rails_env(第一次)
**执行rails_env
**执行db:load\u config
**执行数据库:迁移
雷克流产了!
发生错误,所有后续迁移均已取消:
错误的常量名称0Bak
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.2/lib/active\u-support/endictor/methods.rb:229:in'const\u-defined'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.2/lib/active\u-support/indexctor/methods.rb:229:in`block in constantize'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.2/lib/active\u-support/endictor/methods.rb:228:in'each'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.2/lib/active\u-support/endoctor/methods.rb:228:in'constantize'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.2/lib/active\u support/core\u ext/string/influctions.rb:54:in'constantize'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active\u record/migration.rb:522:in'load\u migration'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active\u record/migration.rb:517:in“migration”
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active\u record/migration.rb:512:in'migrate'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active\u record/migration.rb:704:in“migrate中的块(2个级别)”中
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active\u record/migration.rb:761:in'call'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active\u record/migration.rb:761:in'ddl\u transaction'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active\u record/migration.rb:703:in'block in migrate'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active\u record/migration.rb:684:in'each'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active\u record/migration.rb:684:in“migrate”
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active\u record/migration.rb:554:in'up'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active\u record/migration.rb:535:in“migrate”
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active\u record/railties/databases.rake:153:in“block(2层)in”
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:228:in'call'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:228:in'block in execute'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:223:in'each'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:223:in'execute'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:166:in`block in invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/monitor.rb:211:in'mon_synchronize'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:159:'invoke_with_call_chain'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/task.rb:152:in'invoke'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:143:in'invoke_task'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:101:在“顶层的块(2层)”中
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:101:in'each'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:101:在“顶层块”中
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:110:在“用线程运行”中
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:95:“顶级”
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:73:in'block in run'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:160:在“标准异常处理”中
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:70:in'run'
/var/mdnapp/shared/bundle/ruby/1.9.1/gems/rake-10.0.3/bin/rake:33:in`'
/var/mdnapp/shared/bundle/ruby/1.9.1/bin/rake:23:in'load'
/var/mdnapp/shared/bundle/ruby/1.9.1/bin/rake:23:in`'
任务:TOP=>db:migrate
我在跑步: 轨道3.2.2 mysql20.3.11 ruby 1.9.3

在寻找这个问题的答案时,我遇到了一些关于模型的错误案例的评论。我已经检查了我的,它们在文件名中都是小写的(例如user.rb),但是在类名中它们是CamelCase。拐点的文档描述了NameError,并将其定义为:“当名称不在CamelCase中或常量未知时,将引发NameError。”


但我不确定代码中还有什么地方可以查找可能的CamelCase错误。我不知道这是怎么回事。任何帮助都将不胜感激。

好的。我发现了问题。我的db>migrate文件夹中有一个名为backup\u migrations的文件夹。我一定是在某个时候创建了它来存储我想备份的迁移,同时修改了原始迁移。此文件夹中的其中一个迁移以原始迁移命名,但扩展名为“.0.bak”。在任何情况下,我都删除了backup_migrations文件夹,并按预期完成了所有工作

因此,对于其他正在与类似“rake aborted!Error constant name”(rake aborted!Error constant name)进行斗争的人来说,检查迁移文件是否存在命名错误或camel大小写错误可能是一个好办法。我希望这能帮助别人,花了我很多时间。事后看来,答案现在似乎非常明显