Betrachten Sie das folgende Skript zur Tabellenerstellung:
create_table :foo do |t|
t.datetime :starts_at, :null => false
end
Ist es möglich, den Standardwert als aktuelle Zeit festzulegen?
Ich versuche, in Rails ein DB-unabhängiges Äquivalent für die unten angegebenen SQL-Spaltendefinitionen zu finden:
Oracle-Syntax
start_at DATE DEFAULT SYSDATE()
MySQL-Syntax
start_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ODER
start_at DATETIME DEFAULT NOW()
CURRENT_TIMESTAMP
der Zeitpunkt des Starts der aktuellen Transaktion angegeben wird, sodass mehrere in derselben Transaktion erstellte Datensätze denselben Wert erhalten. Wenn Sie die aktuelle Uhrzeit der Anweisung anzeigen möchten (ohne Berücksichtigung des Transaktionskontexts), überprüfen Sie diesCLOCK_TIMESTAMP
.