[英]AWS CLI eb deploy not running migrations on new RDS mysql instance
我正在使用命令行界面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
,因为eb create
仅创建EC2实例,Autoscaling组,Cloudwatch警报,Security组等,所以没有数据库。
我通过Web控制台->软件配置页面创建RDS实例,并将连接环境变量添加到我的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
( eb deploy
时没有错误),但是在查看页面时出现此错误:
Mysql2::Error: Table 'DATABASE-NAME.users' doesn't exist
生产日志Mysql2::Error: Table 'DATABASE-NAME.users' doesn't exist
,当我连接到生产数据库并且没有表时,可以对此进行验证。
当我运行eb deploy
命令时,迁移似乎没有运行。 我是否缺少通过Web控制台创建数据库与通过命令行部署之间的链接?
由于这篇文章,它现在对我有用。 最新版本的eb cli似乎存在问题,它将leader_only
设置为false,因此rake任务不在部署中运行。
(希望是临时的)解决方案是设置一个container_command来运行迁移耙任务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.