繁体   English   中英

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

[英]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 deployeb 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM