Как я могу установить COLLATION поля в utf8_general_ci с GORM?
Я хотел бы иметь поле типа строки в базе данных MySQL, которое не учитывает регистр и уникально. Я использовал следующую модель:
type User struct {
Id int64 `json:"id" sql:"AUTO_INCREMENT"`
Email string `json:"email" sql:"unique_index"`
}
что делает Email
уникальный, но
type User struct {
Id int64 `json:"id" sql:"AUTO_INCREMENT"`
Email string `json:"email" sql:"unique_index;COLLATION(utf8_general_ci)"`
}
кажется, не имеет никакого эффекта.
Как я могу установить COLLATION поля в utf8_general_ci с GORM?
1 ответ
Решение
Вы можете использовать тег sql в поле, которое хотите изменить, например:
type User struct {
gorm.Model
Name `sql:"type:VARCHAR(5) CHARACTER SET utf8 COLLATE utf8_general_ci"`
}