Ruby on rails rake db:schema:load找不到表

Ruby on rails rake db:schema:load找不到表,ruby-on-rails,database,rake,activeadmin,Ruby On Rails,Database,Rake,Activeadmin,编辑发件人:我的答案无法解决此问题,因此我发布了一份奖金,以寻求替代解决方案 原始问题: 一周前我开始从事一个Rails项目,使用迁移多次更改数据库模式。昨天,我尝试使用以下命令从头开始创建数据库(开发环境,默认配置): rake db:drop rake db:create rake db:schema:load 我在使用--trace选项加载架构时收到此消息: ** Invoke db:schema:load (first_time) ** Invoke environment (fir

编辑发件人:我的答案无法解决此问题,因此我发布了一份奖金,以寻求替代解决方案


原始问题:

一周前我开始从事一个Rails项目,使用迁移多次更改数据库模式。昨天,我尝试使用以下命令从头开始创建数据库(开发环境,默认配置):

rake db:drop
rake db:create
rake db:schema:load
我在使用--trace选项加载架构时收到此消息:

** Invoke db:schema:load (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
Could not find table 'galleries'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/sqlite_adapter.rb:439:in `table_structure'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/sqlite_adapter.rb:322:in `columns'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:95:in `block (2 levels) in initialize'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:185:in `with_connection'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:92:in `block in initialize'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:106:in `yield'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:106:in `default'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:106:in `block in initialize'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/base.rb:717:in `yield'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/base.rb:717:in `default'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/base.rb:717:in `columns_hash'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/locking/optimistic.rb:145:in `locking_enabled?'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/relation.rb:110:in `to_a'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/relation/finder_methods.rb:159:in `all'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/base.rb:441:in `all'
/home/fabien/Dropbox/portfolio/app/admin/photos.rb:10:in `block in <top (required)>'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/dsl.rb:13:in `instance_eval'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/dsl.rb:13:in `run_registration_block'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/namespace.rb:171:in `parse_registration_block'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/namespace.rb:50:in `register'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/application.rb:87:in `register'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin.rb:60:in `register'
/home/fabien/Dropbox/portfolio/app/admin/photos.rb:1:in `<top (required)>'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in `load'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in `block in load'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in `load'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/application.rb:132:in `block in load!'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/application.rb:132:in `each'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/application.rb:132:in `load!'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/application.rb:155:in `routes'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin.rb:63:in `routes'
/home/fabien/Dropbox/portfolio/config/routes.rb:9:in `block in <top (required)>'
/var/lib/gems/1.9.1/gems/actionpack-3.1.3/lib/action_dispatch/routing/route_set.rb:258:in `instance_exec'
/var/lib/gems/1.9.1/gems/actionpack-3.1.3/lib/action_dispatch/routing/route_set.rb:258:in `eval_block'
/var/lib/gems/1.9.1/gems/actionpack-3.1.3/lib/action_dispatch/routing/route_set.rb:235:in `draw'
/home/fabien/Dropbox/portfolio/config/routes.rb:1:in `<top (required)>'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in `load'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in `block in load'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in `load'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application/routes_reloader.rb:29:in `block in load_paths'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application/routes_reloader.rb:29:in `each'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application/routes_reloader.rb:29:in `load_paths'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application/routes_reloader.rb:13:in `reload!'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:87:in `reload_routes!'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/reloader.rb:34:in `reload!'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/reloader.rb:28:in `block in initialize'
/    var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/file_update_checker.rb:32:in `call'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/file_update_checker.rb:32:in `execute_if_updated'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/reloader.rb:45:in `block in attach!'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/callbacks.rb:404:in `_run_prepare_callbacks'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/callbacks.rb:81:in `run_callbacks'
/var/lib/gems/1.9.1/gems/actionpack-3.1.3/lib/action_dispatch/middleware/reloader.rb:46:in `prepare!'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application/finisher.rb:41:in `block in <module:Finisher>'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:30:in `instance_exec'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:30:in `run'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:55:in `block in run_initializers'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:54:in `each'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:54:in `run_initializers'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:96:in `initialize!'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
/home/fabien/Dropbox/portfolio/config/environment.rb:5:in `<top (required)>'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:83:in `require_environment!'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:193:in `block (2 levels) in initialize_tasks'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:176:in `block in invoke_prerequisites'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `each'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `invoke_prerequisites'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:157:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/usr/local/bin/rake:19:in `load'
/usr/local/bin/rake:19:in `<main>'
Tasks: TOP => db:schema:load => environment
**调用数据库:模式:加载(第一次)
**调用环境(第一次)
**执行环境
雷克流产了!
找不到表“库”
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active\u-record/connection\u-adapters/sqlite\u-adapter.rb:439:在“表结构”中
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active\u-record/connection\u-adapters/sqlite\u-adapter.rb:322:在“列”中
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_-record/connection_-adapters/abstract/connection_-pool.rb:95:in`block(2层)in initialize'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_-record/connection_-adapters/abstract/connection_-pool.rb:185:in“with_-connection”
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:92:在“初始化中的块”中
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active\u-record/connection\u-adapters/abstract/connection\u-pool.rb:106:in'yield'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active\u-record/connection\u-adapters/abstract/connection\u-pool.rb:106:在'default'中
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active\u record/connection\u adapters/abstract/connection\u pool.rb:106:在“初始化中的块”中
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_-record/base.rb:717:in'yield'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/base.rb:717:in'default'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active\u record/base.rb:717:in'columns\u hash'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active\u record/locking/optimistic.rb:145:在“已启用锁定”中
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active\u record/relation.rb:110:in'to\u a'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active\u-record/relation/finder\u-methods.rb:159:in'all'
/var/lib/gems/1.9.1/gems/activerecord-3.1.3/lib/active_record/base.rb:441:in'all'
/home/fabien/Dropbox/portfolio/app/admin/photos.rb:10:in'block in'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active\u admin/dsl.rb:13:in'instance\u eval'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active\u admin/dsl.rb:13:在“运行注册”块中
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active\u admin/namespace.rb:171:在“parse\u registration\u block”中
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/namespace.rb:50:在“寄存器”中
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/application.rb:87:在“寄存器”中
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin.rb:60:在“寄存器”中
/home/fabien/Dropbox/portfolio/app/admin/photos.rb:1:in`'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u support/dependencies.rb:234:in'load'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u support/dependencies.rb:234:in'block in load'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u-support/dependencies.rb:223:in'block-in-load\u-dependencity'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u support/dependencies.rb:640:in'new\u constants\u in'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u-support/dependencies.rb:223:in'load\u-dependency'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u support/dependencies.rb:234:in'load'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/application.rb:132:“加载中的块!”
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/application.rb:132:in'each'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/application.rb:132:in'load!'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/application.rb:155:in'routes'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin.rb:63:在“路由”中
/home/fabien/Dropbox/portfolio/config/routes.rb:9:in'block in'
/var/lib/gems/1.9.1/gems/actionpack-3.1.3/lib/action\u dispatch/routing/route\u set.rb:258:in'instance\u exec'
/var/lib/gems/1.9.1/gems/actionpack-3.1.3/lib/action\u dispatch/routing/route\u set.rb:258:in'eval\u block'
/var/lib/gems/1.9.1/gems/actionpack-3.1.3/lib/action_dispatch/routing/route_set.rb:235:in'draw'
/home/fabien/Dropbox/portfolio/config/routes.rb:1:in`'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u support/dependencies.rb:234:in'load'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u support/dependencies.rb:234:in'block in load'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u-support/dependencies.rb:223:in'block-in-load\u-dependencity'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u support/dependencies.rb:640:in'new\u constants\u in'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u-support/dependencies.rb:223:in'load\u-dependency'
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u support/dependencies.rb:234:in'load'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application/routes\u reloader.rb:29:在“加载路径中的块”中
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application/routes\u reloader.rb:29:in'each'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application/routes\u reloader.rb:29:在“加载路径”中
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application/routes\u reloader.rb:13:in'reload!'
/var/lib/gems/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:87:in“reload_routes!”
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/reloader.rb:34:in'reload!'
/var/lib/gems/1.9.1/gems/activeadmin-0.3.4/lib/active_admin/reloader.rb:28:在“初始化中的块”中
/var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active\u support/file\u update\u checker.rb:32:in'call'
/var/lib/gems/1.9.1/gems/activesupport
ActiveAdmin.register Photo do
  ...

  Gallery.all.each do |gallery|              # <= this is invalid, because this file 
    scope gallery.slug.to_sym do |photos|    # doesn't know what `Gallery` (and therefore
      photos.where(:gallery_id => gallery)   # `galleries` table`) is referring to
    end
  end

  ....
end
# /app/admin/photos.rb
index :as => :grid, :columns => 6 do |photo|
    Gallery.all.each do |gallery|
      scope gallery.slug.to_sym do |photos|
        photos.where(:gallery_id => gallery)
      end
    end
    # link_to(image_tag(photo.file.url(:thumb)), admin_photo_path(photo))
end