Reputation: 7377
This question relates to switching from sqlite to mysql in rails prior to doing any database operations, while following the Ruby on Rails Tutorial (2nd ed.).
Before I did any database operations with the Ruby on Rails Tutorial (2nd ed.), I switched the database parameters in the config/database.yml to use mysql. Everything has been working up to section 7.1.3. So far the users
table was created and a sample user was added to the table successfully. However, when I go to test the show users page at users/1
I receive the error message below. Is there something else that needs to be done when using a mysql database instead of sqlite? Thank you in advance for any support!
Error:
ActiveRecord::StatementInvalid in UsersController#show
Could not find table 'users'
Full Trace:
activerecord (3.2.11) lib/active_record/connection_adapters/sqlite_adapter.rb:472:in `table_structure'
activerecord (3.2.11) lib/active_record/connection_adapters/sqlite_adapter.rb:346:in `columns'
activerecord (3.2.11) lib/active_record/connection_adapters/schema_cache.rb:12:in `block in initialize'
activerecord (3.2.11) lib/active_record/model_schema.rb:228:in `yield'
activerecord (3.2.11) lib/active_record/model_schema.rb:228:in `default'
activerecord (3.2.11) lib/active_record/model_schema.rb:228:in `columns'
activerecord (3.2.11) lib/active_record/model_schema.rb:237:in `columns_hash'
activerecord (3.2.11) lib/active_record/relation/delegation.rb:7:in `columns_hash'
activerecord (3.2.11) lib/active_record/relation/finder_methods.rb:331:in `find_one'
activerecord (3.2.11) lib/active_record/relation/finder_methods.rb:312:in `find_with_ids'
activerecord (3.2.11) lib/active_record/relation/finder_methods.rb:107:in `find'
activerecord (3.2.11) lib/active_record/querying.rb:5:in `find'
app/controllers/users_controller.rb:4:in `show'
actionpack (3.2.11) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (3.2.11) lib/abstract_controller/base.rb:167:in `process_action'
actionpack (3.2.11) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (3.2.11) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
activesupport (3.2.11) lib/active_support/callbacks.rb:414:in `_run__1973165003296325481__process_action__197160741547540830__callbacks'
activesupport (3.2.11) lib/active_support/callbacks.rb:405:in `__run_callback'
activesupport (3.2.11) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
activesupport (3.2.11) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (3.2.11) lib/abstract_controller/callbacks.rb:17:in `process_action'
actionpack (3.2.11) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (3.2.11) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
activesupport (3.2.11) lib/active_support/notifications.rb:123:in `block in instrument'
activesupport (3.2.11) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (3.2.11) lib/active_support/notifications.rb:123:in `instrument'
actionpack (3.2.11) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
actionpack (3.2.11) lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
activerecord (3.2.11) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (3.2.11) lib/abstract_controller/base.rb:121:in `process'
actionpack (3.2.11) lib/abstract_controller/rendering.rb:45:in `process'
actionpack (3.2.11) lib/action_controller/metal.rb:203:in `dispatch'
actionpack (3.2.11) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
actionpack (3.2.11) lib/action_controller/metal.rb:246:in `block in action'
actionpack (3.2.11) lib/action_dispatch/routing/route_set.rb:73:in `call'
actionpack (3.2.11) lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
actionpack (3.2.11) lib/action_dispatch/routing/route_set.rb:36:in `call'
journey (1.0.4) lib/journey/router.rb:68:in `block in call'
journey (1.0.4) lib/journey/router.rb:56:in `each'
journey (1.0.4) lib/journey/router.rb:56:in `call'
actionpack (3.2.11) lib/action_dispatch/routing/route_set.rb:601:in `call'
actionpack (3.2.11) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
rack (1.4.5) lib/rack/etag.rb:23:in `call'
rack (1.4.5) lib/rack/conditionalget.rb:25:in `call'
actionpack (3.2.11) lib/action_dispatch/middleware/head.rb:14:in `call'
actionpack (3.2.11) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
actionpack (3.2.11) lib/action_dispatch/middleware/flash.rb:242:in `call'
rack (1.4.5) lib/rack/session/abstract/id.rb:210:in `context'
rack (1.4.5) lib/rack/session/abstract/id.rb:205:in `call'
actionpack (3.2.11) lib/action_dispatch/middleware/cookies.rb:341:in `call'
activerecord (3.2.11) lib/active_record/query_cache.rb:64:in `call'
activerecord (3.2.11) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
actionpack (3.2.11) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
activesupport (3.2.11) lib/active_support/callbacks.rb:405:in `_run__2423197318852707609__call__2019361553739003282__callbacks'
activesupport (3.2.11) lib/active_support/callbacks.rb:405:in `__run_callback'
activesupport (3.2.11) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
activesupport (3.2.11) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (3.2.11) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (3.2.11) lib/action_dispatch/middleware/reloader.rb:65:in `call'
actionpack (3.2.11) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
actionpack (3.2.11) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
actionpack (3.2.11) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
railties (3.2.11) lib/rails/rack/logger.rb:32:in `call_app'
railties (3.2.11) lib/rails/rack/logger.rb:16:in `block in call'
activesupport (3.2.11) lib/active_support/tagged_logging.rb:22:in `tagged'
railties (3.2.11) lib/rails/rack/logger.rb:16:in `call'
actionpack (3.2.11) lib/action_dispatch/middleware/request_id.rb:22:in `call'
rack (1.4.5) lib/rack/methodoverride.rb:21:in `call'
rack (1.4.5) lib/rack/runtime.rb:17:in `call'
activesupport (3.2.11) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
rack (1.4.5) lib/rack/lock.rb:15:in `call'
actionpack (3.2.11) lib/action_dispatch/middleware/static.rb:62:in `call'
railties (3.2.11) lib/rails/engine.rb:479:in `call'
railties (3.2.11) lib/rails/application.rb:223:in `call'
rack (1.4.5) lib/rack/content_length.rb:14:in `call'
rack (1.4.5) lib/rack/handler/webrick.rb:59:in `service'
/opt/bitnami/ruby/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/opt/bitnami/ruby/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/opt/bitnami/ruby/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
Upvotes: 0
Views: 1213
Reputation: 19294
From the stacktrace you provided, it looks like your app is not pointing at your mysql database.
activerecord (3.2.11) lib/active_record/connection_adapters/sqlite_adapter.rb:472:in
table_structure'` <-- points at the sqlite_adapter rather than a mysql adapter
Make sure you use the mysql2
gem and don't forget to run bundle install
after modifying your gemfile. Also be sure to restart your server after modifying your database.yml file.
Upvotes: 1