如何在 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:droprake db:createrake 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 脚本?

如何在 AWS Elastic Beanstalk 上安装/运行 Spark Java 框架?

如何在 aws elastic beanstalk 环境实例启动上运行 shell 脚本