1

我有一个应用程序部署到 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
4

1 回答 1

0

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

于 2013-06-03T08:28:06.300 回答