2013-04-20 71 views
0

我在我的git repo的根目录中有一个“comments.db”文件,用于由amazon托管的烧瓶应用程序。使用“git aws.push”覆盖我的弹性豆荚应用程序数据库

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

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

如何对我的应用程序做出无关的更改,并在不打开服务器上的数据库的情况下推送它们?

回答

0

是否有comments.db被检查过?我认为如果这个文件没有存储库,那么它会工作得更好,它不会看到它或触摸它。

如果它已经是存储库的一部分,则可以使用git rm --cached将其删除。这会将其保留在运行该命令的工作副本中,但在执行该命令时将其从其他位置删除,因此在生产计算机上执行该命令以离开该文件。

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

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

1

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

相关问题