Hãy xem xét kịch bản tạo bảng dưới đây:Làm cách nào để đặt giá trị mặc định cho cột ngày giờ trong tập lệnh di chuyển?
create_table :foo do |t|
t.datetime :starts_at, :null => false
end
là nó có thể thiết lập giá trị mặc định như thời điểm hiện tại?
Tôi đang cố gắng tìm một DB tương đương độc lập ở đường ray cho các định nghĩa cột SQL đưa ra dưới đây:
Oracle Cú pháp
start_at DATE DEFAULT SYSDATE()
MySQL Cú pháp
start_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
HOẶC
start_at DATETIME DEFAULT NOW()
Hiện tại tôi đang đặt giá trị trong: before_create callback.
Tôi đang tìm kiếm một loại ma thuật AR ở đây. Tôi đã dành một chút thời gian để xem mã Rails, nhưng tôi không tìm thấy bất kỳ giải pháp nào. Tôi nghĩ rằng tôi sẽ hỏi xung quanh để xem nếu có bất kỳ lựa chọn thay thế. –
Tôi khuyên bạn nên làm điều đó với một cuộc gọi lại trên before_create. – jonnii
Tôi không muốn thay đổi bảng DB vì tôi muốn giữ mã DB trung lập. Tôi đã hy vọng rằng AR có một số cơ chế để thiết lập giá trị mặc định cho trường Datetime tương tự như trường created_at. –