使用;git aws.push“;用我的elastic beanstalk应用程序覆盖数据库

使用;git aws.push“;用我的elastic beanstalk应用程序覆盖数据库,git,flask,amazon-elastic-beanstalk,Git,Flask,Amazon Elastic Beanstalk,我在git repo的根目录中有一个“comments.db”文件,用于由amazon托管的flask应用程序 它在服务器上运行良好——当有人向帖子添加评论时,服务器上的数据库会相应地更新。但是,每当我对应用程序的其他部分进行更改时,只要使用“git aws.push”将这些更改推送到服务器,服务器上的数据库就会被本地计算机上的数据库文件覆盖,因此添加到服务器数据库中的任何条目都会丢失 另外,如果我在gitignore中粘贴“comments.db”,那么“git aws.push”将从服务器上

我在git repo的根目录中有一个“comments.db”文件,用于由amazon托管的flask应用程序

它在服务器上运行良好——当有人向帖子添加评论时,服务器上的数据库会相应地更新。但是,每当我对应用程序的其他部分进行更改时,只要使用“git aws.push”将这些更改推送到服务器,服务器上的数据库就会被本地计算机上的数据库文件覆盖,因此添加到服务器数据库中的任何条目都会丢失

另外,如果我在gitignore中粘贴“comments.db”,那么“git aws.push”将从服务器上完全删除数据库文件


如何对应用程序进行不相关的更改并推送它们而不破坏服务器上的数据库?

是否签入过comments.db?我认为如果文件没有存储库,git就永远看不到或触摸不到它,效果会更好

如果它已经是存储库的一部分,您可以使用
git rm--cached
删除它。这会将其保留在运行命令的工作副本中,但在执行git pull时,会每隔一个位置将其删除,因此在生产机器上执行此操作以保留文件

在每台开发机器上,您可以创建一个新的用于开发和测试的相同文件


不要忘记将其添加到忽略/排除文件中。

正如您所发现的,当您更新应用程序时,Elastic Beanstalk不会保留旧文件。应用程序中只应包含应用程序本身的文件。您应该将数据存储在Amazon的其他数据库服务(如RDS)中,并将用户上传的文件存储在S3中