AWS CLI eb部署未在新RDS mysql实例上运行迁移

时间:2015-08-18 12:00:02

标签: ruby-on-rails-4 amazon-web-services command-line-interface

我使用命令行界面 EB CLI 3.5(Python 2.7.2)在AWS上创建新应用程序。我运行eb init并设置我的区域和应用程序名称,然后eb create

运行eb create后,我的环境会构建并提供错误Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'。这是完全合理的,没有数据库,因为eb create仅创建EC2实例,Autoscaling组,Cloudwatch警报,安全组等。

我通过网络控制台创建了一个RDS实例 - >软件配置页面并将连接env变量添加到我的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'] %>

再次运行eb deploy(部署时没有错误)但是当我去查看页面时出现此错误:

生产日志中的

Mysql2::Error: Table 'DATABASE-NAME.users' doesn't exist,当我连接到生产数据库并且没有表格时,我可以验证这一点。

当我运行eb deploy命令时,我的迁移似乎没有运行。我是否错过了通过Web控制台创建数据库和通过命令行部署之间的链接?

1 个答案:

答案 0 :(得分:0)

感谢这个post它现在适合我。最新版本的eb cli似乎存在问题,它将Public Sub GetDate() ' DATUM BEPALEN AutoDate = Date - 1 If MsgBox(AutoDate, vbYesNo, "Data") = vbYes Then NewDate = AutoDate Call DeleteDate Else ' No Call ManDate End If End Sub 设置为false,因此rake任务不会在部署时运行。

(希望是临时的)解决方案是设置一个container_command来运行迁移rake任务。