ActiveRecord :: NoDatabaseError:运行“eb deploy”时未知数据库'db / production'

时间:2016-02-11 00:38:30

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

亲爱的订阅者。

我想使用amazon RDS mysql db instance创建一个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.

由于

1 个答案:

答案 0 :(得分:0)

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

true

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