Google+ Followers

donderdag 16 augustus 2012

Waarom MySQL zulk bocht is, deel 56436

Elke keer dat ik denk dat ik overdrijf met mijn afkeer van MySQL dan gebeurt er iets waardoor ik mij weer geheel gerechtigd voel.

MySQL ondersteunt meerdere storage engines, zoals MyISAM en InnoDB. Ik boeken vol schrijven over waarom dat een "Bad-Thing (tm)" is, maar zolang je netjes het juiste tabeltype meegeeft bij je CREATE statement gaat het best aardig.

Voel je hem aankomen?

Vandaag maak ik een dump van een MySQL database en heb het lef om daar '--skip-opt' aan mee te geven, om te voorkomen dat ik o.a. de extended-insert syntax krijg.

Bij een restore van die dump spat de boel natuurlijk uit elkaar met "FULLTEXT is not supported by this table type". WFT? Nou '--skip-opt' haalt dus ook bij het CREATE TABLE statement het engine-type weg.

Zonder engine-type kiest MySQL er zelf een uit en dat was vroeger MyISAM, maar is nu InnoDB en InnoDB doet niet aan FULLTEXT (een van vele "Bad-Thing (tm)" redenen) en boem, weg database.

Wat kun je daaraan doen? nou geen --skip-opt, maar zelf per optie aangeven wat je wel en niet wilt, zodat MySQL een zinnigem bruikbare dump gaat geven.


yay!