【问题标题】:ActiveRecord::NoDatabaseError: Unknown database 'db/production' when running "eb deploy"ActiveRecord::NoDatabaseError: Unknown database 'db/production' 运行“eb deploy”时
【发布时间】:2016-02-11 00:38:29
【问题描述】:

尊敬的订阅者。

我想使用 amazon RDS mysql db 实例创建一个 Rails 项目。

我做了什么。


1) I created amazon RDS mysql instance at first and assigned the full access authority in security group.<br>
2) I have created a rails new project using sqlite and deployed it to amazon elastic beanstalk using "eb deploy". Worked well.<br>
3) In order to use the amazon RDS mysql, I have changed the config/database.yml as the following.<br>

    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'] %>
I have assigned the variables on the tab of configuration in eb instance.<br>
<hr>

使用“eb deploy”再次部署时出错


    ERROR: [Instance: i-0c11ecd4] Command failed on instance. Return code: 1 Output: (TRUNCATED)...options.
    ============= END WARNING FROM mysql2 =========
    rake aborted!
    ActiveRecord::NoDatabaseError: Unknown database 'db/production'

    Mysql2::Error: Unknown database 'db/production'

    Tasks: TOP => db:migrate
    (See full trace by running task with --trace). 
    Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/12_db_migration.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
    INFO: Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
    ERROR: Unsuccessful command execution on instance id(s) 'i-0c11ecd4'. Aborting the operation.
    ERROR: Failed to deploy application.                                

    ERROR: Failed to deploy application.

I want to know the quick way to fix.

谢谢

【问题讨论】:

  • 环境变量 RDS_DB_NAME 设置为什么?
  • 那是“生产”
  • ssh to your beanstalkcd to /var/app/current 怎么样,然后运行rake db:create RAILS_ENV=production

标签: mysql ruby-on-rails amazon-web-services rds


【解决方案1】:

将迁移迁移到 RDS 时发生错误。 这是以前使用 sqlite 的旧项目。 我不确定是否可以直接将迁移迁移到 RDS。 请再次检查错误。

Mysql2::Error: Unknown database 'db/production'

Tasks: TOP => db:migrate
(See full trace by running task with --trace).

因为我之前创建了RDS db,所以我不需要再次迁移它。 删除 db/migrate 中的迁移后,错误已修复。

【讨论】:

    猜你喜欢
    • 2016-08-17
    • 2020-11-20
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    相关资源
    最近更新 更多