Ergebnis 1 bis 7 von 7

Thema: Datenbank aktualisieren bei eigener Seminarverwaltung

  1. #1
    Contao-Nutzer
    Registriert seit
    05.02.2014.
    Beiträge
    19

    Standard Datenbank aktualisieren bei eigener Seminarverwaltung

    Hallo,
    Ich habe eine eigene Seminarverwaltung unter Contao 3.1.1. erstellt, die auch fehlerfrei und problemlos funktioniert (kommt evlt auch bald ins Repository )
    Heute habe ich notgedrungen auf Contao 3.2.7 geupdatet und seitdem werden mir in der Erweiterungsverwaltung
    unter "Datenbank aktualisieren" die ganzen Tabellen der Seminarverwaltung angezeigt z.B. "ALTER TABLE `tl_seminare` CHANGE `sb3` `sb3` varchar(255) NULL default '';".

    Das Problem ist nun, dass ich die Datenbank zwar aktualisieren kann, die Einträge jedoch immer wieder erscheinen. Ich kann also so oft aktualisieren wie ich möchte,
    nachdem die Seite neugeladen wurde stehen wieder die selben Tabellen da, die angelich aktualisiert werden müssen.

    Weiss jemand zufällig woran das liegen könnte und würde mir helfen?

  2. #2
    Contao-Urgestein
    Registriert seit
    10.07.2010.
    Beiträge
    4.403
    User beschenken
    Wunschliste

    Standard

    Contao will ein ALTER TABLE vornehmen und kann nicht.

    Du musst das SQL Statement anpassen.

    Vielleicht hilft Dir dass hier:
    http://de.contaowiki.org/Korrekte_database.sql_erzeugen

  3. #3
    Contao-Urgestein
    Registriert seit
    30.01.2011.
    Ort
    Stuttgart
    Beiträge
    4.138

    Standard

    wird die datenbank. sql verwendet oder sind die Felder ordentlich in der dca konfiguriert?
    Groß kleinschreibung ist korrekt?

  4. #4
    Contao-Nutzer
    Registriert seit
    05.02.2014.
    Beiträge
    19

    Standard

    Danke für den Hinweis mit der database.sql, ich habe die Felder jedoch in den DCAs konfiguriert.
    Habe aber die SQL Statements darin jetzt mal anhand des "SHOW CREATE TABLE" angepasst, jedoch brachte das auch keine Besserung. Selbst wenn ich den Modul Ordner lösche, die Datenbank aktualisiere (Drop Table...) und danach mein Modul wieder neuinstalliere, möchte Contao direkt nach der Installation wieder ein "ALTER TABLE" der Felder durchführen.

    Habe bisher nur herausfinden können, dass es anscheinend etwas mit den NULL und DEFAULT Einträgen zu tun hat, wobei ich nicht wüsste was an den Einträgen falsch ist, da es unter Contao 3.1.1 keinerlei Probleme diesbezüglich gab.

    Bsp. aus Datenbank aktualisieren
    Code:
    ALTER TABLE `tl_seminare` CHANGE `tstamp` `tstamp` int(10) unsigned NULL default '0';
    	
    ALTER TABLE `tl_seminare` CHANGE `sb2` `sb2` varchar(255) NULL default '';
    	
    ALTER TABLE `tl_seminare` CHANGE `sb3` `sb3` varchar(255) NULL default '';

    Auszug aus DCA tl_seminare.php
    Code:
    // Fields
        'fields' => array
        (
            'id' => array
            (
                'sql'                     => "int(10) unsigned NOT NULL auto_increment"
            ),
            'tstamp' => array
            (
                'sql'                     => "int(10) unsigned NULL default '0'"
            ),
            'sb2' => array
            (
                'label'                   => &$GLOBALS['TL_LANG']['tl_seminare']['title-de'],
                'exclude'                 => true,
                'search'                  => true,
                'inputType'               => 'text',
                'eval'                    => array('maxlength'=>255, 'tl_class'=>'w50'),
                'sql'                     => "varchar(255) NULL default ''"
            ),
            'sb3' => array
            (
                'label'                   => &$GLOBALS['TL_LANG']['tl_seminare']['title-en'],
                'exclude'                 => true,
                'search'                  => true,
                'inputType'               => 'text',
                'eval'                    => array('maxlength'=>255, 'tl_class'=>'w50'),
                'sql'                     => "varchar(255) NULL default ''"
            ),

    Könnte es evtl auch daran liegen, dass mein Contao 3.1.1 auf einem Webspace liegt und das Backup in Version 3.2.7 lokal mit Wamp installiert ist?
    Habe eigentlich extra nirgends Groß/kleinschreibung verwenden, damit es keine Probleme gibt.
    Geändert von mezzox (18.02.2014 um 14:20 Uhr)

  5. #5
    Contao-Urgestein
    Registriert seit
    10.07.2010.
    Beiträge
    4.403
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von mezzox Beitrag anzeigen
    Bsp. aus Datenbank aktualisieren
    Code:
    ALTER TABLE `tl_seminare` CHANGE `tstamp` `tstamp` int(10) unsigned NULL default '0';
        
    ALTER TABLE `tl_seminare` CHANGE `sb2` `sb2` varchar(255) NULL default '';
        
    ALTER TABLE `tl_seminare` CHANGE `sb3` `sb3` varchar(255) NULL default '';
    Genau so war es bei mir ... meine Statements waren aber noch in der .sql datei. Ich habe dann einfach bei (varchar) das ' default " ' weggelassen und dann ging es ... aber ob das richtig ist weiß ich auch nicht

  6. #6
    Contao-Nutzer
    Registriert seit
    05.02.2014.
    Beiträge
    19

    Standard

    Hm, wenn ich das default '' weglasse, verschwindet die Tabelle auch aus "Datenbank aktualisieren"
    Dann darf wohl bei NULL kein default-wert festgelegt werden

    Danke für den Tip und eure Hilfe
    Geändert von mezzox (18.02.2014 um 14:38 Uhr)

  7. #7
    Contao-Urgestein
    Registriert seit
    30.01.2011.
    Ort
    Stuttgart
    Beiträge
    4.138

    Standard

    die Zeile muss
    PHP-Code:
    varchar(255NOT NULL default '' 
    heissen - da fehlt das NOT, dann klappt's

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
  •