Ben bu sorunu vardı, ama timestamps
fonksiyonu ile. Updated_at öğesinde 63 karakter sınırını aşan bir dizin otomatik olarak oluşturuluyordu:
def change
create_table :toooooooooo_loooooooooooooooooooooooooooooong do |t|
t.timestamps
end
end
Dizin adı 'index_toooooooooo_loooooooooooooooooooooooooooooong_on_updated_at' tablodaki 'toooooooooo_loooooooooooooooooooooooooooooong' çok uzun; sınır 63 karakterdir
timestamps
Dizin adını belirtmek için kullanmaya çalıştım :
def change
create_table :toooooooooo_loooooooooooooooooooooooooooooong do |t|
t.timestamps index: { name: 'too_loooooooooooooooooooooooooooooong_updated_at' }
end
end
Ancak, dizin adını hem updated_at
ve created_at
alanlarına uygulamaya çalışır :
'Toooooooooo_loooooooooooooooooooooooooooooong' tablosundaki 'too_long_updated_at' dizin adı zaten var
Sonunda vazgeçtim timestamps
ve zaman damgalarını uzun yoldan yarattım:
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
Bu işe yarıyor ama timestamps
yöntemle mümkün olup olmadığını duymak isterim !