django - база данных - от sqlite до postgres, не полностью перенесена, отсутствует языковая поддержка? - PullRequest
0 голосов
/ 05 марта 2020

Я только что развернул свой самый первый проект django и пытаюсь использовать pgloader v3.5 для переноса некоторых важных данных из sqlite3 в postgres. Это успешно, ну, наполовину, успешно, поскольку данные, написанные на английском языке sh, переносятся, тогда как данные, написанные на русском языке (кириллицы c), не переносятся.

Пробовал:

Затем , Я попробовал обобщенный c способ - выгрузить файл datadump.json db.sqlite3 и python manage.py loaddata datadump.json, затем ошибка:

django .db.utils.DataError: Проблема с установкой Светильник '/home/user/project/datadump.json': не удалось загрузить boutique.Category (pk = 1): символ с байтовой последовательностью 0xd0 0x90 в кодировке «UTF8» не имеет эквивалента в кодировке «LATIN1»

datadump.json

Затем я проверил файл datadump.json:

[{"model": "boutique.category", "pk": 1, "fields": {"gender": 1, "name": "\u0410\u043a\u0441\u0435\u0441\u0441\u0443\u0430\u0440\u044b", "description": "", "uploaded_date": "2020-03-02T08:20:49.786Z"}}, ...

проверил

Я проверил данные в db.sqlite3 нетронутыми, а данные (в основном, строки) на русском языке не передаются в новую базу данных postgres.

system

Ubuntu 18, bioni c
django 3.0. 3


Вопрос:

Я думаю, что вопрос заключается в том, как загрузить / преобразовать не-Engli sh json данные? Не уверен, где начать решать проблему. Заранее спасибо!


Дополнительная информация:

Большое вам спасибо, ребята! Теперь я знаю, что кодировка неверна:

postgres=# \l
                              List of databases
   Name    |  Owner   | Encoding | Collate | Ctype |    Access privileges     
-----------+----------+----------+---------+-------+--------------------------
 postgres  | postgres | LATIN1   | en_US   | en_US | 
 template0 | postgres | LATIN1   | en_US   | en_US | =c/postgres             +
           |          |          |         |       | postgres=CTc/postgres
 template1 | postgres | LATIN1   | en_US   | en_US | =c/postgres             +
           |          |          |         |       | postgres=CTc/postgres
 va        | postgres | LATIN1   | en_US   | en_US | =Tc/postgres            +
           |          |          |         |       | postgres=CTc/postgres   +
           |          |          |         |       | va_db_admin=CTc/postgres

Значит ли это, что мне нужно пересоздать базу данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...