Comment puis-je ajouter current_timestamp ou maintenant pour date feild dans le schéma de base de données drupal.
'created' => array(
'description' => t('Timestamp when the fee schedule was added.'),
'type' => 'int',
'not null' => TRUE,
'unsigned' => TRUE,
),
Réponses:
Vous pouvez spécifier un type de colonne spécifique au pilote pour MySQL à l'aide de l'
mysql_type
attribut:Ensuite, lors de l'activation de votre module, vous pouvez simplement modifier la colonne pour ajouter le comportement par défaut / à la mise à jour:
Je viens de le tester sur Drupal 7 et ça marche un régal.
REMARQUE: si vous ne souhaitez pas que l'horodatage soit mis à jour à chaque mise à jour de l'enregistrement, supprimez simplement la
ON UPDATE CURRENT_TIMESTAMP
partie de la requête.la source
Je suppose que vous faites référence à MySQL, la fonctionnalité que vous souhaitez examiner directement à partir des documents est l' horodatage .
Cela mettrait probablement à jour la table db créée par le schéma vers le type de champ que vous recherchez:
Je suis juste tombé sur ce post indiquant que le support d'horodatage devrait être pour Drupal 8, donc je suppose (et je peux me tromper) qu'il n'est probablement pas pris en charge dès le départ pour D7. Modifiez simplement le type en TIMESTAMP dans votre tableau et voyez ce qui donne, mais je ne parierais pas sur ce travail via l'API du schéma D7.
MISE À JOUR:
En fait, regardez dans le post. Le correctif ajoutera la prise en charge de l'horodatage dans D7. Bravo à Drupalshrek pour avoir partagé cela avec nous.
Le schéma de la base de données, une fois corrigé, serait le suivant:
Allez voir le post ci-dessus pour le patch, je ne republierai pas ses trucs ici, je ne sais pas si cela serait approprié.
J'espère que cela aide, codage heureux.
la source
Voici la solution pour Drupal 8.6.x au cas où quelqu'un ressemblerait à moi :)
cela équivaut à ...
la source