Ich hatte dieses Problem, aber mit der timestamps
-Funktion. Sie hat einen Index auf updated_at automatisch generiert, der das 63-Zeichen-Limit überschritten hat:
def change
create_table :toooooooooo_loooooooooooooooooooooooooooooong do |t|
t.timestamps
end
end
Index-Name 'index_toooooooooo_loooooooooooooooooooooooooooooong_on_updated_at' auf Tabelle 'toooooooooo_loooooooooooooooooooooooooooooong' ist zu lang; das Limit beträgt 63 Zeichen
Ich habe versucht, timestamps
zu verwenden, um den Indexnamen anzugeben:
def change
create_table :toooooooooo_loooooooooooooooooooooooooooooong do |t|
t.timestamps index: { name: 'too_loooooooooooooooooooooooooooooong_updated_at' }
end
end
Das versucht jedoch, den Indexnamen auf beide Felder updated_at
und created_at
anzuwenden:
Index-Name 'too_long_updated_at' auf Tabelle 'toooooooooo_loooooooooooooooooooooooooooooong' existiert bereits
Schließlich habe ich auf timestamps
aufgegeben und einfach die Timestamps auf die lange Art erstellt:
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
Das funktioniert, aber ich würde gerne hören, ob es mit der timestamps
-Methode möglich ist!