我正在使用Django1.11。我想从sqlite转移到PostgreSQL。所以我需要从Sqlite转储数据并加载到PostgreSQL。我使用生成转储数据
python3 manage.py dumpdata > db.json
我已经将db设置更改为PostgreSQL并且确实如此
python3 manage.py loaddata db.json
并得到了这个错误。
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
所以我使用hexdump
并尝试过。
raise JSONDecodeError("Expecting value", s, err.value) from None
django.core.serializers.base.DeserializationError: Problem installing fixture '/var/lib/myproject/fixtures/db.json': Expecting value: line 1 column 1 (char 0)
我看了看db.json
,这是无效的json。
我正在研究linux。问题是在db.json
的头部,“尝试使用Windows路径”这句话被附加并突出显示。当我使用vi command
打开文件时,我认为它不是文件的一部分。但它是文件的一部分。我只是手动删除了这句话。有效。但最后我没有使用python loaddata
进行数据库迁移。如果使用pyhton函数,可能会有很多错误。所以我放弃了Django内置函数并使用了pgloader
。这很简单,没有错误。