我使用命令行界面 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控制台创建数据库和通过命令行部署之间的链接?
答案 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任务。