Retour : Page Principale > sommaire applications botaniques > CEL

Mémo sur la gestion des champs dates


Ce mémo à pour but de définir la façon de gérer les différents champs datetime des tables du CEL.

Champs datetime existant
Dans les tables cel_obs, cel_images, cel_mots_cles_images_liaison, cel_mots_cles_obs_liaison, nous trouvons les champs dates suivant :
  • date_creation [NOT NULL] : indique quand l'enregistrement a été créé
  • date_modification [NOT NULL] : indique quand l'enregistrement a été modifié pour la dernière fois
  • date_transmission : indique quand l'enregistrement a été rendu public pour la dernière fois.
  • date_liaison : indique quand l'image a été liée à l'observation actuelle.

Fonctionnement général

Si le champ n'est pas défini, il devrait valoir : NULL.
Pour définir une date et heure donnée, utiliser la fonction SQL : NOW().

Date création
Ce champ devrait être définit à la date et heure courante lors de la création de l'enregistrement.
Il ne devrait plus jamais changer.
Il ne peut pas être NULL. Certaines données historique n'ont pas été formatée correctement et possèdent la valeur : "0000-00-00 00:00:00".

Date transmission
Si l'enregistrement est rendu public, il devrait contenir la date et heure de ce moment là.
Si l'enregistrement est rendu par la suite privé, il devrait prendre la valeur NULL.

Date liaison
Indiquer la date et heure de la liaison entre l'observation et l'image ou avec un mot-clé, sinon doit contenir NULL.

Date modification
Ce champ datetime doit toujours être modifié quelque soit le type de changement : création, modification, transmission, liaison.
Cela permet ainsi d'être averti du moindre changement d'un enregistrement et ceci grâce à un seul champ date. C'est utile pour les flux de syndication par exemple.
Il ne peut pas être NULL. Certaines données historique n'ont pas été formatée correctement et possèdent la valeur : "0000-00-00 00:00:00".

Il aura donc une valeur égale à :
  • date_creation : lors de la crétion de l'enregistrement
  • date_liaison : lors de la liaison d'une image à une obs
  • date_transmission : lors de la transmission d'une obs (ou d'une image si c'est développé un jour)
S'il possède une valeur qui ne correspond à aucun autre de ces champs date, c'est que les données elles-même de l'enregistrement ont été modifiées (ou des champs étendus, ou des mots-clés...).

Autres champs date

Date de prise de vue
La table cel_images possède un champ date_prise_de_vue qui doit contenir la date et heure de prise de vue de la photo extraite des métadonnées de celle-ci.
Ce champ est utile pour réaliser un filtre par date sur les photos.

Date observation
La table cel_obs possède un champ date_observation qui devrait contenir seulement la date (sans l'heure) à laquelle l'observation a été faite.
TODO : modifier le champ date_observation de DATETIME à DATE.