Wie kann ich current_timestamp oder now for date feild im Drupal-Datenbankschema hinzufügen?
'created' => array(
'description' => t('Timestamp when the fee schedule was added.'),
'type' => 'int',
'not null' => TRUE,
'unsigned' => TRUE,
),
Antworten:
Sie können einen treiberspezifischen Spaltentyp für MySQL mithilfe des folgenden
mysql_type
Attributs angeben :Wenn Sie Ihr Modul aktivieren, können Sie die Spalte einfach ändern, um das Standard- / Aktualisierungsverhalten hinzuzufügen:
Ich habe das gerade auf Drupal 7 getestet und es funktioniert ein Vergnügen.
HINWEIS: Wenn Sie nicht möchten, dass der Zeitstempel bei jeder Aktualisierung des Datensatzes aktualisiert wird, entfernen Sie einfach den
ON UPDATE CURRENT_TIMESTAMP
Teil der Abfrage.quelle
Ich gehe davon aus, dass Sie sich auf MySQL beziehen. Die Funktion, die Sie direkt aus den Dokumenten betrachten möchten, sind Zeitstempel .
Dies würde wahrscheinlich die vom Schema erstellte DB-Tabelle auf den gesuchten Feldtyp aktualisieren:
Ich bin gerade über diesen Beitrag gestolpert und habe festgestellt, dass die Unterstützung für Zeitstempel für Drupal 8 vorgesehen ist. Daher gehe ich davon aus (und ich könnte mich irren), dass dies für D7 wahrscheinlich nicht sofort unterstützt wird. Ändern Sie einfach den Typ in Ihrem Array in TIMESTAMP und sehen Sie, was sich ergibt, aber ich würde nicht darauf wetten, dass dies über die D7-Schema-API funktioniert.
AKTUALISIEREN:
Schauen Sie sich eigentlich die Post an. Der Patch unterstützt den Zeitstempel in D7. Ein großes Lob an drupalshrek, dass er dies mit uns geteilt hat.
Das einmal gepatchte Datenbankschema lautet wie folgt:
Sehen Sie sich den Beitrag oben für den Patch an. Ich werde seine Sachen hier nicht erneut veröffentlichen. Ich bin mir nicht sicher, ob dies richtig wäre.
Hoffe das hilft, fröhliche Codierung.
quelle
Hier ist die Lösung für Drupal 8.6.x, nur für den Fall, dass jemand so aussieht wie ich :)
das ist äquivalent zu ...
quelle