mysql - OpsWorks 已部署,但我的所有操作均无效。我的 database.yml 文件搞砸了吗?

标签 mysql ruby-on-rails amazon-web-services aws-opsworks

当我使用本地 mysql 服务器在本地运行我的 rails 服务器时,我的端点工作正常,并且正在将内容插入和更新到 mysql 数据库,一切都很美好。

然而,当我部署到 AWS OpsWorks 时,应用程序已部署,我能够看到 /public 文件夹中的内容,但我的所有操作都不起作用,我也没有非常确定如何调试它。

当我检查日志时,看到 bundle install 被调用,甚至随后...

[2014-07-13T14:37:34+00:00] INFO: No database adapter specified for bgs_api, guessing
[2014-07-13T14:37:35+00:00] INFO: Looks like bgs_api uses mysql2 in its Gemfile

.. 但与表的实际创建或迁移的执行无关。

关于我的实例和应用...

我有一个同时具有 Rails 和 MySQL 层的 EC2 实例。

我正在使用 database.yml 文件,但我不确定这是否意味着我可以在部署应用程序时忽略放入自定义 JSON。这就是我目前正在做的事情。

这是我的database.yml 文件

development:
  adapter: mysql2
  encoding: utf8
  reconnect: true
  database: xyz #name for local database defined by me
  username: abc #username for local database user defined by me
  password: 123 #password for local database user defined by me
  pool: 5
  host: localhost

production:
  adapter: mysql2
  encoding: utf8
  reconnect: true
  database: xyz #name for opsworks database defined by me
  username: root #username for opsworks database defined by opsworks
  password: abc #password for opsworks database defined by opsworks
  pool: 5
  host: localhost

我不确定的一件事是生产主机值......我想它会是 localhost 因为这个 get 在 ec2 insatnce 上运行。

调试的任何帮助或指导都会有很大帮助。谢谢!

最佳答案

您需要通过自定义 JSON 发送数据库详细信息。这是因为 APP 没有自动从配置中获取连接详细信息。即使您确实将它添加到代码库中,它也会被配方覆盖。

{
  "deploy":{
    "app_name":{
      "database":{
        "password":"",
        "adapter":"mysql2",
        "username":"",
        "database":"",
        "host":"localhost"
      }
    }
  }
}

您需要运行创建数据库等的正常任务。这是您应该在安装应用程序时单独执行的操作。一个不错的选择是使用部署 Hook :opsworks hooks

关于mysql - OpsWorks 已部署,但我的所有操作均无效。我的 database.yml 文件搞砸了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24727728/

相关文章:

ruby-on-rails - 如何在 Ruby 中访问深层嵌套哈希中的值?

ruby-on-rails - ActiveRecord::Relation 对象如何调用类方法

java - 无法使用 AWS EMR 实例通过 spark 访问 JDBC 驱动程序

android - AWS iOS/Android SDK 大小问题

java - 单元测试 DynamoDB PaginatedQueryList 时如何返回列表

mysql - SQL 一对多关系

mysql - 每 T 秒将列值增加 X

mysql - 让这个查询工作?

ruby-on-rails - Rails 如何使用 SoundCloud 歌曲 URL 获取 SoundCloud 轨道信息

MySQL Workbench 无法在 Windows 上打开