// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
package tables
const TableNameMytable = "mytable"
// Mytable mapped from table <mytable>
type Mytable struct {
ID uint32 `gorm:"column:id;type:int(10) unsigned;primaryKey;autoIncrement:true" json:"id"`
Name string `gorm:"column:name;type:varchar(100);not null;uniqueIndex:name_uni,priority:1" json:"name"`
}
// TableName Mytable's table name
func (*Mytable) TableName() string {
return TableNameMytable
}
Error 1091 (42000): Can't DROP 'uni_mytable_name'; check that column/key exists
[4.703ms] [rows:0] ALTER TABLE `mytable` DROP FOREIGN KEY `uni_mytable_name`
Error 1091 (42000): Can't DROP 'uni_mytable_name'; check that column/key exists
表结构:
gen 配置:
生成的结构体model
执行表迁移,当表已存在时
结果:
跟踪代码发现是因为 Migrator 工具判断是否有唯一键是通过union 而不是union key
go/pkg/mod/gorm.io/gorm@v1.25.11/migrator/migrator.go:580