Migrace z SQLite na MySQL - problém s načtením dat

17 views
Skip to first unread message

stanisl...@gmail.com

unread,
Sep 25, 2021, 4:08:55 AM9/25/21
to django-cs
Zdravím,

snažím se převést projekt z SQLite na MySQL, ale neustále mám problém při importu dat. Postupuji prověřenou cestou, tedy export dat do json pomocí manage.py, přehodím databáze a pak pomocí loaddata chci zase data do nové DB naplnit.

Konkrétně tedy v MySQL vytvořím DB:

character set: utf8mb4
collation: utf8mb4_bin (zkoušel jsem i jiné)

a připojím přes:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'nazev-db',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': '127.0.0.1',
        'PORT': '8889',
    },

    'OPTIONS': {
        'charset': 'utf8mb4'
    },
}

pak provedu vytvoření tabulek:
python manage.py migrate --run-syncdb
vymažu všechna data ve všech tabulkách:
python manage.py sqlflush | python manage.py dbshell
a jdu nahrávat data:
python ./manage.py loaddata data.json 

No a i přes veškerou snahu skončím na problém 4byte znaků, které se prostě do DB nenačtou:
...
...
File "/Users/moreplavec/virtuals/nazev-db/lib/python3.7/site-packages/MySQLdb/connections.py", line 259, in query
    _mysql.connection.query(self, query)
django.db.utils.OperationalError: Problem installing fixture '/Users/moreplavec/virtuals/nazev-db/nazev-db/data.json': Could not load testimonials.CourseTestimonials(pk=148): (1366, "Incorrect string value: '\\xF0\\x9F\\x98\\x8A, ...' for column 'content' at row 1")

Podle Google je to ten problém se 4byte v MySQL, ale už nevím co může být špatně, že to nejede. DB jsem založil 4byte, v konfigu to mám a přesto to ta data nenačte. 

Prosím o radu, zda někdo tuší kde ještě co nastavit, nějak to už prostě nevidím :)

stanisl...@gmail.com

unread,
Sep 27, 2021, 8:04:02 AM9/27/21
to django-cs
Tak v mezičase jsem vše vyřešil, stačilo OPTIONS vložit do DATABASES, vykopíroval jsem si to ze špatného příkladu a to byl celý problém.
Reply all
Reply to author
Forward
0 new messages