Tipps zur SQL Dump Syntax in Contao
Das Installscript erwartet eine ganz korrekte database.sql beim Einlesen von Modulen. Hier können wir Tipps sammeln die etwaige Fehler beim Einlesen vermeiden:
Richtiges Präfix
Contao parst nur Tabellen die mit dem Präfix "tl_" ausgestattet sind.
Allgemeines zur Syntax:
Das Vergleichstool ist darauf ausgelegt, mit SQL Dumps wie sie z.B. mit phpMyAdmin erzeugt werden zu arbeiten. Versuche daher dein Dump möglichst nach dem gleichen Schema zu erstellen.
PRIMARY ID:
Contao erwartet in der database.sql 2 Leerzeichen zwischen PRIMARY KEY und (`id`). Vergisst man das, versucht TL im Install Tool immer den Primary Key zu droppen.
SQL Syntax für database.sql CREATE TABLE
Also hier noch einmal alles an einem Stück:
1. Tabelle in Datenbank anlegen mit einem Tool (z.B. phpmyadmin)
2. Wie von BugBuster beschrieben das CREATE Statement der Tabelle generieren lassen:
Code:
SHOW CREATE TABLE tl_MODULE_TABLE_NAME
3. Statement wie folgt anpassen:
3.1 Wie von Nina und Bugbuster gesagt die 2 Leerzeichen zwischen PRIMARY KEY und der folgenden ( sicherstellen.
3.2 Alle DEFAULT durch default und alle AUTO_INCREMENTdurch auto_increment ersetzen.
Wenn man 3.2 weglässt will Typolight die betreffende Spalte mit einem CHANGE Befehl anpassen. Das sähe z.B. so aus:
Code:
ALTER TABLE `tl_employees` CHANGE `avatare` `avatare` varchar(64) NOT NULL DEFAULT '';