Rozważ poniższy skrypt tworzenia tabeli:
create_table :foo do |t|
t.datetime :starts_at, :null => false
end
Czy można ustawić domyślną wartość jako aktualny czas?
Próbuję znaleźć niezależny odpowiednik DB w szynach dla definicji kolumn SQL podanych poniżej:
Składnia Oracle
start_at DATE DEFAULT SYSDATE()
Składnia MySQL
start_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
LUB
start_at DATETIME DEFAULT NOW()
CURRENT_TIMESTAMP
będzie to czas rozpoczęcia bieżącej transakcji, więc wiele rekordów utworzonych w tej samej transakcji otrzyma tę samą wartość. Jeśli chcesz mieć aktualny czas wykonania instrukcji (ignorując kontekst transakcji), sprawdźCLOCK_TIMESTAMP
.