0

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

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

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

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

4

2 回答 2

1

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

于 2014-02-17T15:50:38.053 回答
0

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

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

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

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

于 2013-04-20T17:59:39.093 回答