使用“git aws.push”覆盖我的弹性beanstalk应用程序所拥有的数据库

时间:2013-04-20 16:41:34

标签: git flask elastic-beanstalk

我的git仓库的根目录中有一个“comments.db”文件,用于亚马逊托管的烧瓶应用程序。

它在服务器上工作得很好 - 当有人在帖子中添加注释时,服务器上的数据库会相应地更新。但是,每当我对应用程序的其他部分进行更改时,使用“git aws.push”将这些更改推送到服务器,服务器上的数据库将被本地计算机上的数据库文件覆盖 - 所以任何条目添加到服务器数据库的内容将丢失。

似乎如果我在我的gitignore中粘贴“comments.db”,那么“git aws.push”会完全从服务器中删除数据库文件。

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

如果它已经是存储库的一部分,您可以使用git rm --cached将其删除。这将把它保留在运行命令的工作副本中,但是当它们执行git pull时将其全部删除,所以在生产机器上将其删除以保留文件。

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

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