Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ecto erstellt einen eindeutigen Index für Mysql/Mariadb nicht

Das Feld "Name" ist zu lang. Sie sollten entweder sicherstellen, dass es eine Größe von weniger als 767 Byte hat, indem Sie die Größenoption übergeben, wenn Sie es deklarieren, oder nur einen Teil des Felds indizieren:

create unique_index :shoppers, ["name(20)"], name: :shoppers_name_unique

Denken Sie daran, dass Sie denselben Namen angeben müssen, wenn Sie unique_constraint/2 aufrufen in Ihrem Änderungssatz.