Pertimbangkan skrip pembuatan tabel di bawah ini:
create_table :foo do |t|
t.datetime :starts_at, :null => false
end
Apakah mungkin untuk menyetel nilai default sebagai waktu saat ini?
Saya mencoba menemukan padanan independen DB di rel untuk definisi kolom SQL yang diberikan di bawah ini:
Sintaks Oracle
start_at DATE DEFAULT SYSDATE()
Sintaks MySQL
start_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ATAU
start_at DATETIME DEFAULT NOW()
CURRENT_TIMESTAMP
akan menjadi waktu dimulainya transaksi saat ini, jadi beberapa catatan yang dibuat dalam transaksi yang sama akan mendapatkan nilai yang sama. Jika Anda ingin waktu aktual eksekusi pernyataan (mengabaikan konteks transaksi), periksaCLOCK_TIMESTAMP
.