ฉันมีปัญหานี้ แต่ด้วยtimestampsฟังก์ชั่น มันสร้างดัชนีอัตโนมัติใน updated_at ที่เกินขีด จำกัด อักขระ 63 ตัว:
def change
create_table :toooooooooo_loooooooooooooooooooooooooooooong do |t|
t.timestamps
end
end
ชื่อดัชนี 'index_toooooooooo_loooooooooooooooooooooooooooong_on_updated_at' บนโต๊ะ 'toooooooooo_loooooooooooooooooooooooooooooooooooooooo' ยาวเกินไป; ขีด จำกัด คือ 63 อักขระ
ฉันพยายามใช้timestampsเพื่อระบุชื่อดัชนี:
def change
create_table :toooooooooo_loooooooooooooooooooooooooooooong do |t|
t.timestamps index: { name: 'too_loooooooooooooooooooooooooooooong_updated_at' }
end
end
อย่างไรก็ตามสิ่งนี้พยายามใช้ชื่อดัชนีกับทั้งสองupdated_atและcreated_atฟิลด์:
ชื่อดัชนี 'too_long_updated_at' บนโต๊ะ 'toooooooooo_loooooooooooooooooooooooooooooooooooooooooooooooooo' แล้ว
ในที่สุดฉันก็ยอมแพ้timestampsและเพิ่งสร้างการประทับเวลาในระยะยาว:
def change
create_table :toooooooooo_loooooooooooooooooooooooooooooong do |t|
t.datetime :updated_at, index: { name: 'too_long_on_updated_at' }
t.datetime :created_at, index: { name: 'too_long_on_created_at' }
end
end
ใช้งานได้ แต่ฉันชอบที่จะได้ยินว่าเป็นไปได้ด้วยtimestampsวิธีการ!