ฉันมีปัญหานี้ แต่ด้วย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
วิธีการ!