rake db:schema:load在开发中工作但不在生产中工作

时间:2013-12-04 03:46:42

标签: ruby-on-rails database schema rake production

我已经搜索了这个网站和Google几个小时。当我运行rake db:schema:load时,一切正常(开发),但运行rake db:schema:load RAILS_ENV=production --trace我得到以下内容:

C:\Sites\14-Meerkat>rake db:schema:load RAILS_ENV=production --trace
** Invoke db:schema:load (first_time)
** Invoke environment (first_time)
** Execute environment
Mysql2::Error: Table 'sei_mk_prod.charities' doesn't exist: SHOW FULL FIELDS FROM `charities`
rake aborted!
Mysql2::Error: Table 'sei_mk_prod.charities' doesn't exist: SHOW FULL FIELDS FROM `charities`
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:286:in `query'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:286:in `block in execute'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/abstract_adapter.rb:425:in `block in log'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/abstract_adapter.rb:420:in `log'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:286:in `execute'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/mysql2_adapter.rb:220:in `execute'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:300:in `execute_and_free'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:461:in `columns'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/schema_cache.rb:114:in `block in prepare_default_proc'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/schema_cache.rb:56:in `yield'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/schema_cache.rb:56:in `columns'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/model_schema.rb:208:in `columns'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/model_schema.rb:247:in `column_names'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/auto_html-1.6.0/lib/auto_html/auto_html_for.rb:21:in `auto_html_for'
C:/Sites/14-Meerkat/app/models/charity.rb:9:in `<class:Charity>'
C:/Sites/14-Meerkat/app/models/charity.rb:1:in `<top (required)>'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `block in require'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:329:in `require_or_load'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:288:in `depend_on'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:206:in `require_dependency'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/engine.rb:465:in `block (2 levels) in eager_load!'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/engine.rb:464:in `each'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/engine.rb:464:in `block in eager_load!'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/engine.rb:462:in `each'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/engine.rb:462:in `eager_load!'
C:in `eager_load!'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/application/finisher.rb:56:in `each'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/application/finisher.rb:56:in `block in <module:Finisher>'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/initializable.rb:30:in `instance_exec'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/initializable.rb:30:in `run'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/initializable.rb:55:in `block in run_initializers'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/1.9.1/tsort.rb:150:in `block in tsort_each'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/1.9.1/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/1.9.1/tsort.rb:219:in `each_strongly_connected_component_from'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/1.9.1/tsort.rb:182:in `block in each_strongly_connected_component'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/1.9.1/tsort.rb:180:in `each'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/1.9.1/tsort.rb:180:in `each_strongly_connected_component'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/1.9.1/tsort.rb:148:in `tsort_each'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/initializable.rb:54:in `run_initializers'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/application.rb:215:in `initialize!'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/railtie/configurable.rb:30:in `method_missing'
C:/Sites/14-Meerkat/config/environment.rb:5:in `<top (required)>'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `block in require'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/application.rb:189:in `require_environment!'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/railties-4.0.0/lib/rails/application.rb:249:in `block in run_tasks_blocks'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/task.rb:236:in `call'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/task.rb:236:in `block in execute'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/task.rb:231:in `each'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/task.rb:231:in `execute'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/task.rb:175:in `block in invoke_with_call_chain'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/task.rb:168:in `invoke_with_call_chain'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/task.rb:197:in `block in invoke_prerequisites'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/task.rb:195:in `each'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/task.rb:195:in `invoke_prerequisites'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/task.rb:174:in `block in invoke_with_call_chain'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/task.rb:168:in `invoke_with_call_chain'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/task.rb:161:in `invoke'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:149:in `invoke_task'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:106:in `block (2 levels) in top_level'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:106:in `each'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:106:in `block in top_level'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:115:in `run_with_threads'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:100:in `top_level'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:78:in `block in run'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:75:in `run'
C:/BitNami/rubystack-1.9.3-16-2/ruby/lib/ruby/gems/1.9.1/gems/rake-10.1.0/bin/rake:33:in `<top (required)>'
C:/BitNami/rubystack-1.9.3-16-2/ruby/bin/rake:23:in `load'
C:/BitNami/rubystack-1.9.3-16-2/ruby/bin/rake:23:in `<main>'
Tasks: TOP => db:schema:load => environment

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

问题出在charity.rb文件中。我还没有弄清楚确切的问题,但是从第9行开始注释掉代码块,而在另一个模型中类似的代码块解决了这个问题。希望这能帮助其他一些沮丧的程序员。 : - )

<强>更新 我的一位同事发现他已经在development.rb中初始化了一些内容但没有在production.rb中初始化。初始化是针对导致问题的charity.rb中的代码。

答案 1 :(得分:-1)

请参阅this question.

哪个州

  

如果在生产服务器上运行rake db:schema:load,您最终将删除所有生产数据。这是一个危险的习惯。

尝试运行rake db:migrate。继续运行rake db:migrate。如果您确实需要全新设置,您是否尝试rake db:resetrake db:setup