我有一个在Beanstalk上运行的Django服务器,由于我缺乏远见,我一开始没有选择使用Codecomit或从SQLite迁移。现在,每次我使用eb deploy
将我的应用程序部署到服务器时,我的数据都会被擦除干净。
我有没有办法下载整个代码源,其中包含用户输入的数据(这意味着它还应该包括更新的数据库(以及来自 Beanstalk 服务器的当前实例的所有内容?如果我选择从版本历史记录中下载代码,它只会将我使用 eb deploy 部署的代码的 zip 版本返回给我。
为了下载最新版本的环境的代码,您可以使用命令eb labs download <environment name>
.
编辑:
无法使用EBCLI 复制数据库中的数据。您可以使用 AWSCLI 执行aws rds create-db-snapshot
。为了确定db-instance-identifier
,您可以对环境执行aws elasticbeanstalk describe-environment-resources
。
编辑2:
还值得注意的是,您使用的方法适用于测试和开发环境。对于生产环境,您的数据库应位于环境外部,并且由您自己通过 RDS 管理,以便在环境出现故障时不会丢失数据。有关更多详细信息,请阅读此内容。