Considérez le script de création de table ci-dessous:
create_table :foo do |t|
t.datetime :starts_at, :null => false
end
Est-il possible de définir la valeur par défaut comme heure actuelle?
J'essaie de trouver un équivalent indépendant de la base de données dans les rails pour les définitions de colonne SQL données ci-dessous:
Syntaxe d'Oracle
start_at DATE DEFAULT SYSDATE()
Syntaxe MySQL
start_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
OU
start_at DATETIME DEFAULT NOW()
CURRENT_TIMESTAMP
sera l'heure du début de la transaction en cours, de sorte que plusieurs enregistrements créés dans la même transaction auront la même valeur. Si vous voulez l'heure actuelle d'exécution de l'instruction (en ignorant le contexte de transaction), vérifiezCLOCK_TIMESTAMP
.