ActiveRecord :: StatementInvalid:Mysql2 ::错误:没有选择数据库:显示类似'用户'的表格

时间:2013-06-03 05:14:25

标签: ruby-on-rails amazon-ec2 console rds

我已将应用部署到AWS EC2并使用AWS RDS服务。该应用程序正在运行,但当我尝试使用rails控制台生产并查找用户表时,我收到以下错误:有关如何解决此问题的任何想法?

ActiveRecord::StatementInvalid: Mysql2::Error: No database selected: SHOW TABLES LIKE 'users'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:245:in `query'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:245:in `block in execute'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract_adapter.rb:280:in `block in log'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activesupport-3.2.13/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract_adapter.rb:275:in `log'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:245:in `execute'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activerecord-3.2.13/lib/active_record/connection_adapters/mysql2_adapter.rb:211:in `execute'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:259:in `execute_and_free'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:383:in `tables'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:390:in `table_exists?'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activerecord-3.2.13/lib/active_record/connection_adapters/schema_cache.rb:30:in `table_exists?'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activerecord-3.2.13/lib/active_record/model_schema.rb:223:in `table_exists?'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/activerecord-3.2.13/lib/active_record/base.rb:423:in `inspect'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.13/lib/rails/commands/console.rb:47:in `start'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.13/lib/rails/commands/console.rb:8:in `start'
from /Users/Home/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.13/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'

这是我的database.yml

production:
  adapter: mysql2
  encoding: utf8
  database: <%= ENV['RDS_DB_NAME'] %>
  username: <%= ENV['RDS_USERNAME'] %>
  password: <%= ENV['RDS_PASSWORD'] %>
  host: <%= ENV['RDS_HOSTNAME'] %>
  port: <%= ENV['RDS_PORT'] %>

从终端我正在使用这些命令:

% bundle exec rails console production
Loading production environment (Rails 3.2.13)
1.9.3-p374 :001 > User.all

1 个答案:

答案 0 :(得分:0)

看起来这些env变量中的一些是空白的。尝试单独在控制台中运行每个。