Diskuse

Téma: Obnova DB

Ahoj,
dělal jsem testy a nepovedlo se mi obnovit DB na verzi MySQL: 8.2.0. Nejde o produkci, ale o vývoj...

Udělal jsem ze systému částečnou zálohu (pouze DB, MySQL:5.5.5). Následně se ji pokusil obnovit na nový server. Import v systému proběhnul správně, spustím obnovu a systém už nenajede. Pokusil jsem se o import přes adminera a tam končím chybou:
sunlight_poll BLOB, TEXT, GEOMETRY or JSON column 'answers' can't have a default value
a dále
sunlight_user BLOB, TEXT, GEOMETRY or JSON column 'note' can't have a default value

Pokud upravím sql soubor tak import a obnova projde korektně:
`answers` text COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', => `answers` text COLLATE utf8mb4_unicode_ci NOT NULL,
`note` text COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', => `note` text COLLATE utf8mb4_unicode_ci NOT NULL,

Jedná se o chybu anebo mám něco u sebe rozbitého (migrace z SL 7.5)?
postZaslat odpověď
S tím jsme se již setkali, pro sloupec note jsem to ovšem již v migratoru opravoval. Ale ve tvém případě je to jedno, protože by ti to v MySQL 5.5.5 Migrátor zaseklo na fulltextových sloupcích, protože jsou podporované až od MySQL 5.6 a Maria DB 10.0

Změn si u zmíněných problémových sloupců výchozí hodnotu z '' na ('') Takto: https://github.com/jDanek/sunlight-migrator/commit/40024e563f43905aca7612f52dc7396cae9b8948#diff-e266bb711d3edc4c1440d82f4a7d33ed52ba9b24f3aab9dd87e43ffe076e887eR20

Původně jsem to dělal pro všechny textové sloupce, ale vypadalo to, že problém byl jen u registrací, tak se to vrátilo a zůstal jen ten sloupec note.
sunlight_poll.answers nemá v database.sql žádný default 🤨
Koukám, že chyba je tentokrát na mé straně. Přehlédl jsem to zřejmě, když jsem revertoval změny těch sloupců. Omlouvám se.

https://github.com/jDanek/sunlight-migrator/commit/40024e563f43905aca7612f52dc7396cae9b8948#diff-41a5cef110aa762d166437adb11c2f8184bdb7cc563394ec8770b15dc5e9b26dR3

V repozitáři jsem to již opravil.