Ergebnis 1 bis 5 von 5

Thema: DCA sql-Definition für Timestamp

  1. #1
    Contao-Nutzer
    Registriert seit
    09.03.2014.
    Beiträge
    87

    Standard DCA sql-Definition für Timestamp

    Ich stehe mal wieder auf dem Schlauch.
    Habe ein Feld lastchange angelegt in Tabelle, in DCA folgende sql-Def gesetzt:

    PHP-Code:
    timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP 
    Contao interpretiert dies falsch und möchte das bestehende Feld in der DB wie folgt ändern:

    PHP-Code:
    ALTER TABLE tl_customer CHANGE lastchange lastchange DATETIME NOT NULL 
    Wie lautet die korrekte sql-Definition für ein Timestamp-Feld mit CURRENT_TIMESTAMP als default und Attribut on update CURRENT_TIMESTAMP?

    Das Modul läuft auf einer 4.4-Installation, wird als Ordner in den System>Modules Ordner gelegt.

    Danke für die Hilfe
    M

  2. #2
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Dies unterstützt Contao meines Wissens so nicht. Contao geht davon aus, dass der Timestamp dann vom PHP-Script gesetzt wird und nicht durch die Datenbank automatisch generiert wird.

    Contao nutzt dafür für Timestamps folgende Definition: "int(10) unsigned NOT NULL default '0'"

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Ich denke das Problem ist eher das ON UPDATE - welches von Contao dann nicht erkannt wird, wenn es die Tabellendefinitionen ausliest. Oder es wird vom MySQL Server gar nicht unterstützt.

  4. #4
    Contao-Nutzer
    Registriert seit
    09.03.2014.
    Beiträge
    87

    Standard

    Dann bleibt wohl nichts anderes, als das im php direkt zu setzen.

    Besten Dank

    M

  5. #5
    Contao-Fan Avatar von PaddySD
    Registriert seit
    26.10.2016.
    Ort
    Andechs
    Beiträge
    656

    Standard

    Was im Sinne von Contao auch "erwartet" wird, denn Contao arbeitet ja mit einem reinen UNIX_TIMESTAMP. Daher wäre es "richtig", sich an den Standard zu halten. Zur Umwandlung hat Contao auch extra die DateTime-Klasse.

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
  •