Tag default is in conflict with tag autoincrement

This commit is contained in:
Zhibin Dong 2021-05-26 09:41:58 +08:00
parent cf93b16730
commit b5c30fd18c

View File

@ -210,13 +210,15 @@ func Parse(dest interface{}, cacheStore *sync.Map, namer Namer) (*Schema, error)
if field := schema.PrioritizedPrimaryField; field != nil {
switch field.GORMDataType {
case Int, Uint:
if _, ok := field.TagSettings["AUTOINCREMENT"]; !ok {
if !field.HasDefaultValue || field.DefaultValueInterface != nil {
schema.FieldsWithDefaultDBValue = append(schema.FieldsWithDefaultDBValue, field)
}
if _, ok := field.TagSettings["DEFAULT"]; !ok {
if _, ok := field.TagSettings["AUTOINCREMENT"]; !ok {
if !field.HasDefaultValue || field.DefaultValueInterface != nil {
schema.FieldsWithDefaultDBValue = append(schema.FieldsWithDefaultDBValue, field)
}
field.HasDefaultValue = true
field.AutoIncrement = true
field.HasDefaultValue = true
field.AutoIncrement = true
}
}
}
}