如何将本地Django sqlite数据库与服务器同步?

时间:2014-11-27 04:17:40

标签: python django database git

我在Ubuntu的Digital Ocean部署了一个使用sqlite的Django 1.6项目。

我使用Git在服务器端更新我的项目。 (此后Git克隆和git拉)

我的问题是:每次我在本地更新数据库后(例如添加了一些新表),我该如何与服务器同步?使用git pull会导致无法解决的冲突。我可以使用git fetch --all和git reset --HARD来实现。但它似乎并不是正确的方法。

非常感谢任何帮助!提前谢谢。

1 个答案:

答案 0 :(得分:2)

按照以下步骤从本地推送并拉到服务器。

  1. 对models.py
  2. 进行更改
  3. 使用此cmd将更改添加到git。 > git add models.py
  4. 使用此cmd提交> git commit -m“你的消息”
  5. git push>这会将您的本地更改推送到repo。
  6. 现在去切断。
  7. run cmd> git status
  8. 查看对models.py文件是否进行了任何本地更改。
  9. 您可以使用>查看这些本地更改git diff models.py
  10. 如果这些更改已经在您的回购中。使用此cmd将其丢弃> git checkout models.py
  11. 现在运行cmd,它将从服务器获取您的最新更改。> git pull
  12. P.S。 :对克隆中的任何文件所做的所有更改使用相同的命令。

    同步数据库的南迁移:

    初始: 1. python manage.py schemamigration --initial 2. python manage.py migrate --fake

    对数据库进行任何更改并执行以下步骤: 1. python manage.py schemamigration --auto 2. python manage.py migrate

    请勿检查在应用中创建的迁移文件夹,因为它会在本地克隆和生产克隆之间发生冲突。

    注意:南迁移的所有历史记录都存储在数据库的south_migrations表中。