私はこの問題を抱えていましたが、timestamps
機能はありました。63文字の制限を超えるupdated_atでインデックスを自動生成していました。
def change
create_table :toooooooooo_loooooooooooooooooooooooooooooong do |t|
t.timestamps
end
end
テーブル「toooooooooo_loooooooooooooooooooooooooooooooong」のインデックス名「index_toooooooooooo_loooooooooooooooooooooooooooooong_on_updated_at」が長すぎます。制限は63文字です
を使用timestamps
してインデックス名を指定しようとしました:
def change
create_table :toooooooooo_loooooooooooooooooooooooooooooong do |t|
t.timestamps index: { name: 'too_loooooooooooooooooooooooooooooong_updated_at' }
end
end
ただし、これはupdated_at
とcreated_at
フィールドの両方にインデックス名を適用しようとします。
テーブル 'toooooooooo_loooooooooooooooooooooooooooooong'のインデックス名 'too_long_updated_at'は既に存在します
最後に私はあきらめて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
方法で可能かどうか聞いてみたいです!