Ergebnis 1 bis 3 von 3

Thema: Merkwürdiges Problem mit database.sql

  1. #1
    Contao-Fan Avatar von Babelfisch
    Registriert seit
    30.06.2009.
    Ort
    Leipzig
    Beiträge
    894

    Standard Merkwürdiges Problem mit database.sql

    Ich habe gerade ein merkwürdiges Problem mit einer Erweiterung unter Contao 3. In der database.sql wird eine Tabelle folgendermaßen definiert:

    Code:
    CREATE TABLE `tl_verbs_spanish` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `tstamp` int(10) unsigned NOT NULL default '0',
      `verb` varchar(255) NOT NULL default '',
      `type1` varchar(3) NOT NULL default '',
      `type2` varchar(3) NOT NULL default '',
      `participle` varchar(255) NOT NULL default '',
      `conjugation` int(10) unsigned NOT NULL default '0',
      `none_reflexive` char(1) NOT NULL default '1',
      `reflexive` char(1) NOT NULL default '1',
      `visible` char(1) NOT NULL default '',
      `exceptions` TEXT NOT NULL default '',
      PRIMARY KEY  (`id`),
      KEY `type` (`type1`, `type2`),
      UNIQUE KEY `verb` (`verb`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    Will ich nun über das Installtool oder im Backend über Erweiterungsverwaltung/Datenbank aktualisieren die Tabelle anlegen, bastelt Contao folgendes draus:

    Code:
    CREATE TABLE `tl_verbs_spanish` (
      `verb` varchar(255) NOT NULL default '',
      `type1` varchar(3) NOT NULL default '',
      `type2` varchar(3) NOT NULL default '',
      `conjugation` int(10) unsigned NOT NULL default '0',
      `participle` varchar(255) NOT NULL default '',
      `none_reflexive` char(1) NOT NULL default '1',
      `reflexive` char(1) NOT NULL default '1',
      `visible` char(1) NOT NULL default '',
      `exceptions` TEXT NOT NULL default '',
      `id` int(10) unsigned NOT NULL auto_increment,
      `tstamp` int(10) unsigned NOT NULL default '0',
      PRIMARY KEY  (`id`),
      `TYPE` KEY `KEY` (`KEY`),
      UNIQUE KEY `verb` (`verb`),
      KEY `type` (`type1`, `type2`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    Durch die zusätzliche Zeile `TYPE` KEY `KEY` (`KEY`), kommt natürlich ein SQL-Fehler und eine Exception. In der DCA selber habe ich (noch) keine SQL-Einträge drin und unter Contao 2 funktioniert es auch problemlos.

    Erkennt zufällig jemand, wo das Problem liegen könnte?

    Gruß
    Meine aktiven Contao-Projekte: LingoliaStiftung firmm

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.514
    User beschenken
    Wunschliste

    Standard

    alternativ, teste mal in der database.sql:
    Code:
    KEY `type1_type2` (`type1`, `type2`),
    so würde das aus der DCA generiert werden.
    Ansonsten würde ich, wenn die Erweiterung ab Contao 3 ist, auch gleich direkt in der DCA die SQL Definitionen reinschreiben.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Fan Avatar von Babelfisch
    Registriert seit
    30.06.2009.
    Ort
    Leipzig
    Beiträge
    894

    Standard

    Ob ich KEY oder INDEX schreiben, hat keine Auswirkungen. Wenn ich die Datenbank aber in der DCA definiere, funktioniert es und es kommt kein Fehler.

    Danke!
    Meine aktiven Contao-Projekte: LingoliaStiftung firmm

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •