Définition des horodatages actuels par défaut pour les colonnes d'horodatage dans les migrations Laravel
Q : Comment puis-je configurer une colonne d'horodatage dans les migrations Laravel par défaut, l'horodatage actuel avec la possibilité de se mettre à jour en fonction de la valeur changer ?
A : Le générateur de schéma de Laravel fournit une méthode simple pour y parvenir :
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP')); $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
DB::raw est utilisé pour créer une expression brute, nous permettant de définir CURRENT_TIMESTAMP par défaut. Cette solution fonctionne efficacement sur différents pilotes de base de données.
Améliorations dans Laravel :
$table->timestamp('created_at')->useCurrent();
$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();
Précautions :
MySQL (5.7 et supérieur) :
Assurez-vous d'attribuer une valeur par défaut valide aux colonnes d'horodatage pour éviter les problèmes potentiels avec des dates invalides (par exemple, 0000-00-00 00:00:00). Utilisez useCurrent() ou rendez les colonnes nullables.
PostgreSQL avec Laravel 4.x :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!