我正在用 Django 做一个博客项目,我目前有一个版本在生产中运行。我一直在对开发版本进行更改,当我在 Git 上推送更改时,我注意到每次提交都会"清除"我存储在生产服务器中的信息。具体来说,a(在生产服务器上编写的某些博客文章和b(每当我推送新提交时,在生产服务器上添加的用户帐户似乎都会"消失"。
有人告诉我,这个问题可能是由于我使用了 sqlite(我使用 sqlite3(和我的本地开发数据库与我的存储库"混合"在一起。如果是这种情况,我该如何解决此问题。如果您怀疑这是由于其他问题引起的,原因可能是什么?
我是使用Django和Git的新手,尽管我已经使用Python一段时间了。我真的很感激任何和所有的帮助。为了便于使用,我的"文章"模型的一部分如下 - 文章代表博客文章。
class Article(models.Model):
title = models.CharField(max_length=255)
#Body is the "body" of our entry - self explanatory.
body = models.TextField()
#date = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(
get_user_model(),
on_delete=models.CASCADE,
)
将.gitignore
文件添加到存储库,向其添加行*.sqlite3
,运行以下git rm --cached *.sqlite3
您的整个数据库都在 sqlite 文件中。开发中有一个当前由存储库跟踪的内容。每次在开发和提交中进行更改时,它都会用开发数据库覆盖您的生产数据库。
Git 提交不能让事情消失,也不能让推送命令消失。
如果我理解正确,您将 sqlite 文件包含在版本控制中。你不应该那样做。这样,您就可以在开发和生产之间混淆数据。