如何从AWS EB下载更新的sqlite数据库?(Django应用程序)

4xrmg8kj  于 2022-11-18  发布在  Go
关注(0)|答案(2)|浏览(102)

我已经在AWS Elastic Beanstalk上部署了我的Django应用程序,使用的是sqlite数据库。这个网站已经运行了一段时间了。
现在,我对网站进行了一些更改,并希望再次部署,但通过保留数据库所做的更改(通过表单输入)
但是我找不到下载更新的数据库或任何文件的方法。我唯一能够下载的应用程序版本是我第一次部署时已经上传的版本。
如何下载当前运行的应用程序版本并使用相同的数据库进行部署?

z2acfund

z2acfund1#

您可以使用scp连接到远程服务器并下载所有文件。
正如所评论的,你最好使用dumpdata,然后输入/输出该文件(而不是数据库或整个站点)。
然而,如果您的远程系统python版本与您的django站点不同,那么dumpdata可能无法工作(这是我的情况),所以我设法将整个站点文件夹下载回本地,然后使用dumpdata
aws elastic beanstalk Python应用程序的/opt/python/current/app文件
只需使用scp -r将整个站点下载到本地。

sqyvllje

sqyvllje2#

我相信在EB部署过程中,您有一个sqlite数据库文件正在从本地打包。如果是这样的话,那么您需要做的就是不要在部署中包含db.sqlite文件。
将db.sqllite文件的位置移到s3或ebs持久卷,以便它持久存在。
按照django推荐的方式,使用. ebextensions在aws数据库文件上运行aws中的数据库迁移。
为了安全起见,你可以ssh到你的eb环境,这是ec2示例和下载db.sqlite文件只是以防万一。

相关问题