如何在 Elastic Beanstalk 中运行“rake db:drop”
Posted
技术标签:
【中文标题】如何在 Elastic Beanstalk 中运行“rake db:drop”【英文标题】:How to run 'rake db:drop' in Elastic Beanstalk 【发布时间】:2016-04-06 00:16:38 【问题描述】:我有一个在 Elastic Beanstalk 服务上运行的 rails 应用程序。
当我部署我的应用程序时,某些页面无法正常工作。我认为问题在于,在我删除一个模型并创建一个名称相同但架构不同的新模型后,数据库没有重置。
在本地,我可以运行rake db:drop
、rake db:create
、rake db:migrate
来重置数据库。但是,如何在EB上重置数据库?
【问题讨论】:
【参考方案1】:我认为您还必须从您的 rails 应用程序中删除 structure.rb
文件手册,并使用 rake db:migrate
再次创建它
【讨论】:
【参考方案2】:要手动运行它,您可以简单地eb ssh
您的环境并发出rake
命令。或者,如果您不需要该数据库,只需从 beanstalk Web 控制台重新创建环境,这将重新创建数据库。
【讨论】:
感谢您的回答。但是如何在 ssh 上运行rake
命令。上面写着No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
,我找不到应用目录。
查看/var/app/current
。确保你是 root (sudo su -
)以上是关于如何在 Elastic Beanstalk 中运行“rake db:drop”的主要内容,如果未能解决你的问题,请参考以下文章
如何在部署到 Elastic Beanstalk 后运行 Python 脚本
如何使用非默认运行参数在 AWS Elastic Beanstalk 中运行 Docker 容器?
如何使用 .ebextensions 在 Amazon Elastic Beanstalk 中运行“npm install”
如何使用 AWS Elastic Beanstalk 在 URL 中运行带有参数的 PHP 脚本?