如何将本地Django sqlite3数据与Heroku的postgres数据库同步?

我有一个由Heroku服务的Django网站,该网站的模型存储了我过去从事过的项目的数据。我已经在本地运行makemigrationsmigrate,然后使用git推送到heroku并运行heroku run python3 manage.py migrate。因此,我的数据库模型和字段已同步,但是我在询问字段。每当我本地更新模型实例 的字段的值时,我都希望它(数据)与 Heroku 同步,反之亦然-我更新的同步值使用我的 local sqlite3数据库在管理面板中的 Heroku 上。是否有用于更新数据库本身值的命令,或者我缺少某些内容?因为过去一个小时我在互联网上四处寻找如何执行此操作的方法,但是找不到执行该操作的命令。

旁注:我还希望我正在寻找的命令同步新创建的实例,而不仅仅是现有模型实例的数据。

anlijinhuawei 回答:如何将本地Django sqlite3数据与Heroku的postgres数据库同步?

好,我知道了。

第一步是运行python3 manage.py dumpdata --exclude contenttypes > data.json。这会将本地数据库数据复制到一个名为data.json的文件中(如果不存在,该文件也由>创建)。

接下来,git push进入heroku并运行heroku run python3 manage.py migrate以取得良好效果。

最后,heroku run python3 manage.py loaddata data.json。这将转换从本地sqlite3数据库加载的数据,并将其加载到heroku postgre数据库。除非在转储数据时完成翻译。无论如何,这会将heroku数据与本地数据同步。

我还没有测试过将本地数据与heroku数据进行同步,但是我敢肯定它会以相同的方式工作:先从heroku run python3 manage.py dumpdata --exclude contenttypes > data.jsongit fetch从heroku中进行(我从未取过在将目录与github上的内容进行同步之前,它应该很简单)。

仅此而已。如果我在本地更改了我所从事的项目的名称,更新了上次从事该项目的日期,并在工作过程中写了几段,我不想在heroku shell中重做所有这些事情,然后我通过转储数据,将其推送到heroku并将其加载到那里进行同步。

本文链接:https://www.f2er.com/3083571.html

大家都在问