【问题标题】:Fresh install of my rails project causes SQLite3::SQLException全新安装我的 rails 项目会导致 SQLite3::SQLException
【发布时间】:2015-11-07 01:30:38
【问题描述】:

我想测试我的项目在全新安装时是否正确运行。

https://github.com/Nims09/ts_test_ui

对于一个普通的新项目,我克隆它然后做:

git clone https://github.com/Nims09/ts_test_ui

bundle install

rake db:migrate

rails server

它应该可以运行,但是 rake db:migrate 给了我一个:

ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: simulations: SELECT  "simulations".* FROM "simulations"  ORDER BY "simulations"."id" DESC LIMIT 1

谁能帮我解决为什么会这样?我是否使用正确的步骤?我是否提交了我不应该拥有的数据库文件?

完整日志:

ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: simulations: SELECT  "simulations".* FROM "simulations"  ORDER BY "simulations"."id" DESC LIMIT 1
/usr/local/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `initialize'
/usr/local/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `new'
/usr/local/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `prepare'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/sqlite3_adapter.rb:296:in `block in exec_query'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:473:in `block in log'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:467:in `log'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/sqlite3_adapter.rb:293:in `exec_query'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:347:in `select'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:32:in `select_all'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:70:in `select_all'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/querying.rb:39:in `find_by_sql'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation.rb:638:in `exec_queries'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation.rb:514:in `load'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation.rb:243:in `to_a'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation/finder_methods.rb:523:in `find_last'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation/finder_methods.rb:172:in `last'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/querying.rb:3:in `last'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test5/ts_test_ui/spec/factories/simulations.rb:16:in `block (2 levels) in <top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:18:in `instance_eval'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:18:in `factory'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test5/ts_test_ui/spec/factories/simulations.rb:15:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:49:in `instance_eval'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:49:in `run'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:7:in `define'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test5/ts_test_ui/spec/factories/simulations.rb:14:in `<top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `block in load'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:20:in `block (2 levels) in find_definitions'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:19:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:19:in `block in find_definitions'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:15:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:15:in `find_definitions'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl_rails-4.5.0/lib/factory_girl_rails/railtie.rb:21:in `block in <class:Railtie>'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:36:in `call'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:44:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application/finisher.rb:62:in `block in <module:Finisher>'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:30:in `instance_exec'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:30:in `run'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:54:in `run_initializers'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:352:in `initialize!'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/railtie.rb:194:in `public_send'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/railtie.rb:194:in `method_missing'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test5/ts_test_ui/config/environment.rb:5:in `<top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `block in require'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:328:in `require_environment!'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:457:in `block in run_tasks_blocks'
SQLite3::SQLException: no such table: simulations
/usr/local/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `initialize'
/usr/local/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `new'
/usr/local/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `prepare'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/sqlite3_adapter.rb:296:in `block in exec_query'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:473:in `block in log'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:467:in `log'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/sqlite3_adapter.rb:293:in `exec_query'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:347:in `select'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:32:in `select_all'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:70:in `select_all'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/querying.rb:39:in `find_by_sql'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation.rb:638:in `exec_queries'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation.rb:514:in `load'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation.rb:243:in `to_a'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation/finder_methods.rb:523:in `find_last'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation/finder_methods.rb:172:in `last'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/querying.rb:3:in `last'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test5/ts_test_ui/spec/factories/simulations.rb:16:in `block (2 levels) in <top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:18:in `instance_eval'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:18:in `factory'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test5/ts_test_ui/spec/factories/simulations.rb:15:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:49:in `instance_eval'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:49:in `run'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:7:in `define'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test5/ts_test_ui/spec/factories/simulations.rb:14:in `<top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `block in load'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:20:in `block (2 levels) in find_definitions'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:19:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:19:in `block in find_definitions'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:15:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:15:in `find_definitions'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl_rails-4.5.0/lib/factory_girl_rails/railtie.rb:21:in `block in <class:Railtie>'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:36:in `call'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:44:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application/finisher.rb:62:in `block in <module:Finisher>'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:30:in `instance_exec'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:30:in `run'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:54:in `run_initializers'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:352:in `initialize!'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/railtie.rb:194:in `public_send'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/railtie.rb:194:in `method_missing'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test5/ts_test_ui/config/environment.rb:5:in `<top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `block in require'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:328:in `require_environment!'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:457:in `block in run_tasks_blocks'

m1:

class DeviseCreateUsers < ActiveRecord::Migration
  def change
    create_table(:users) do |t|
      ## Database authenticatable
      t.string :email,              :null => false, :default => "", limit: 96
      t.string :encrypted_password, :null => false, :default => "", limit: 60

      t.timestamps

      t.index :email, unique: true
    end
  end
end

平方米

class CreateSimulations < ActiveRecord::Migration
  def change
    # Needs the hash column worked out before this is run 
    create_table :simulations do |t|
        t.integer :x_size
        t.integer :y_size
        t.string :verdict
        t.string :arrangement 
    end

    add_reference :simulations, :user, index: true    
  end
end

立方米

class RemoveVerdictFromSimulation < ActiveRecord::Migration
  def change
    remove_column :simulations, :verdict, :string
  end
end

m4

class AddOpinionToSimulations < ActiveRecord::Migration
  def change
    add_column :simulations, :opinion, :string
  end
end

m5

class AddIdentifierToSimulations < ActiveRecord::Migration
  def change
    add_column :simulations, :identifier, :string
  end
end

开发日志:

  [1m[36mSimulation Load (0.6ms)[0m  [1mSELECT  "simulations".* FROM "simulations"  ORDER BY "simulations"."id" DESC LIMIT 1[0m
SQLite3::SQLException: no such table: simulations: SELECT  "simulations".* FROM "simulations"  ORDER BY "simulations"."id" DESC LIMIT 1

从命令行:

Nathaniels-MacBook-Pro:ts_test_ui nathanielmots$ rake db:drop
Nathaniels-MacBook-Pro:ts_test_ui nathanielmots$ rake db:create
Nathaniels-MacBook-Pro:ts_test_ui nathanielmots$ rake db:migrate
rake aborted!
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: simulations: SELECT  "simulations".* FROM "simulations"  ORDER BY "simulations"."id" DESC LIMIT 1
/usr/local/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `initialize'
/usr/local/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `new'
/usr/local/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `prepare'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/sqlite3_adapter.rb:296:in `block in exec_query'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:473:in `block in log'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:467:in `log'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/sqlite3_adapter.rb:293:in `exec_query'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:347:in `select'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:32:in `select_all'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:70:in `select_all'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/querying.rb:39:in `find_by_sql'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation.rb:638:in `exec_queries'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation.rb:514:in `load'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation.rb:243:in `to_a'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation/finder_methods.rb:523:in `find_last'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation/finder_methods.rb:172:in `last'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/querying.rb:3:in `last'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test6/ts_test_ui/spec/factories/simulations.rb:16:in `block (2 levels) in <top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:18:in `instance_eval'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:18:in `factory'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test6/ts_test_ui/spec/factories/simulations.rb:15:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:49:in `instance_eval'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:49:in `run'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:7:in `define'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test6/ts_test_ui/spec/factories/simulations.rb:14:in `<top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `block in load'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:20:in `block (2 levels) in find_definitions'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:19:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:19:in `block in find_definitions'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:15:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:15:in `find_definitions'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl_rails-4.5.0/lib/factory_girl_rails/railtie.rb:21:in `block in <class:Railtie>'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:36:in `call'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:44:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application/finisher.rb:62:in `block in <module:Finisher>'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:30:in `instance_exec'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:30:in `run'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:54:in `run_initializers'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:352:in `initialize!'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/railtie.rb:194:in `public_send'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/railtie.rb:194:in `method_missing'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test6/ts_test_ui/config/environment.rb:5:in `<top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `block in require'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:328:in `require_environment!'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:457:in `block in run_tasks_blocks'
SQLite3::SQLException: no such table: simulations
/usr/local/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `initialize'
/usr/local/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `new'
/usr/local/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `prepare'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/sqlite3_adapter.rb:296:in `block in exec_query'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:473:in `block in log'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:467:in `log'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/sqlite3_adapter.rb:293:in `exec_query'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:347:in `select'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:32:in `select_all'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:70:in `select_all'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/querying.rb:39:in `find_by_sql'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation.rb:638:in `exec_queries'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation.rb:514:in `load'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation.rb:243:in `to_a'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation/finder_methods.rb:523:in `find_last'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/relation/finder_methods.rb:172:in `last'
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.1/lib/active_record/querying.rb:3:in `last'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test6/ts_test_ui/spec/factories/simulations.rb:16:in `block (2 levels) in <top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:18:in `instance_eval'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:18:in `factory'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test6/ts_test_ui/spec/factories/simulations.rb:15:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:49:in `instance_eval'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:49:in `run'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/syntax/default.rb:7:in `define'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test6/ts_test_ui/spec/factories/simulations.rb:14:in `<top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `block in load'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:20:in `block (2 levels) in find_definitions'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:19:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:19:in `block in find_definitions'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:15:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/find_definitions.rb:15:in `find_definitions'
/usr/local/lib/ruby/gems/2.2.0/gems/factory_girl_rails-4.5.0/lib/factory_girl_rails/railtie.rb:21:in `block in <class:Railtie>'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:36:in `call'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:44:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application/finisher.rb:62:in `block in <module:Finisher>'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:30:in `instance_exec'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:30:in `run'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:54:in `run_initializers'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:352:in `initialize!'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/railtie.rb:194:in `public_send'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/railtie.rb:194:in `method_missing'
/Users/nathanielmots/Documents/Development/ThemisSolutions/test6/ts_test_ui/config/environment.rb:5:in `<top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `block in require'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/local/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:328:in `require_environment!'
/usr/local/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:457:in `block in run_tasks_blocks'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)

【问题讨论】:

  • 那个SQL相当于Simulation.first,显然是在创建模拟表之前运行的。您可以在模型或初始化程序中引用 Simulation.first 吗?
  • 我将设置步骤更改为:克隆、捆绑安装、rake db:schema:load ,然后是 rails 服务器,这样就可以了。我认为这是设置新项目的正确方法。
  • 不,这不是正确的方法。您刚刚加载了完整的架构,并且您的表格出现了。您希望从头开始项目的方式是删除您的数据库(如果您以前拥有它),重新创建它,然后运行迁移。

标签: ruby-on-rails sqlite


【解决方案1】:

不要立即运行“rake db:migrate”,而是重置您当前的数据库:

rake db:drop

耙数据库:创建

rake db:迁移

您的迁移表很可能不同步。

这就是我需要的:

    ? ➤ rake db:migrate
    == 20150717093728 CreateInvitees: migrating ===================================
    -- create_table(:invitees)
       -> 0.0936s
    == 20150717093728 CreateInvitees: migrated (0.0938s) ==========================

我提到的所有命令的输出从命令行

【讨论】:

  • 对,但这只是意味着您的迁移有问题。将您的命令的完整日志添加到您的问题中,我们可以找出它是什么。换句话说,如果其他人从头开始运行您的项目,她会得到同样的错误。
  • 不,我不是那个意思。我可以在github.com/Nims09/ts_test_ui 中自己查看您的迁移。我需要的是运行“rake db:drop”(应该为空)、“rake db:create”(也应该为空)的完整输出,以及运行“rake db:migrate”后的完整日志最后,创建了所有表,其中一个失败了。我不需要您发布的完整错误堆栈。我需要知道它之前是什么。
  • 我添加了 development.log,它很短,只包含原始错误。知道这可能出了什么问题吗?
  • 我得到了日志文件,因为我认为那里可能还有更多。完整的日志是我在命令行中运行rake db:migrate 时得到的转储
  • 我在答案中添加了我需要的内容。
【解决方案2】:

从堆栈跟踪来看,它看起来可能与factory_girl_rails gem 有关。存储库中的 simulations.rb 文件似乎暗示相同,因为它会在您的错误中产生 SQL。

在您的 Gemfile 中更改这一行:

gem 'factory_girl_rails'

对此:

gem 'factory_girl_rails', :require =&gt; false

并将其添加到spec_helper.rb:

require 'factory_girl_rails'

然后运行bundle install。之后,尝试再次运行迁移。

【讨论】:

  • 这是正确的,当需要 false 时,迁移会正确运行,但是即使将 erquire 添加到规范帮助程序,我的 rspec 也会失败。
  • 我可以接受这个答案,但我现在如何修复我的测试?
  • 这是我在运行 rspec Nathaniels-MacBook-Pro:ts_test_ui nathanielmots$ rspec /usr/local/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:100:in require' 时收到的错误:无法找到要激活的“railties”版本 (Gem::LoadError)`
  • 是在运行 bundle install 之后吗?
  • 是的,在我完成捆绑安装后运行 rspec
猜你喜欢
  • 1970-01-01
  • 2014-03-25
  • 1970-01-01
  • 2020-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多