Розглянемо сценарій створення таблиці нижче:
create_table :foo do |t|
t.datetime :starts_at, :null => false
end
Чи можна встановити значення за замовчуванням як поточний час?
Я намагаюся знайти незалежний еквівалент БД у рейках для визначень SQL стовпців, наведених нижче:
Синтаксис Oracle
start_at DATE DEFAULT SYSDATE()
Синтаксис MySQL
start_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
АБО
start_at DATETIME DEFAULT NOW()
CURRENT_TIMESTAMP
настане час початку поточної транзакції, тому кілька записів, створених в одній транзакції, отримають таке саме значення. Якщо ви хочете фактичний поточний час виконання оператора (ігноруючи контекст транзакції), ознайомтесьCLOCK_TIMESTAMP
.