Fix issues (#931)

* fix #929

* fix #925

* add test case

* update model README

* fix #929

* fix #929

* fix #929

* refactor dir

* Adding todo comments

Co-authored-by: anqiansong <anqiansong@xiaoheiban.cn>
This commit is contained in:
anqiansong
2021-08-19 22:47:45 +08:00
committed by GitHub
parent a523ab1f93
commit 189721da16
7 changed files with 142 additions and 16 deletions

View File

@@ -180,6 +180,7 @@ func convertColumns(columns []*parser.Column, primaryColumn string) (Primary, ma
var (
primaryKey Primary
fieldM = make(map[string]*Field)
log = console.NewColorConsole()
)
for _, column := range columns {
@@ -194,8 +195,12 @@ func convertColumns(columns []*parser.Column, primaryColumn string) (Primary, ma
if column.Constraint != nil {
comment = column.Constraint.Comment
isDefaultNull = !column.Constraint.HasDefaultValue
if column.Name == primaryColumn && column.Constraint.AutoIncrement {
isDefaultNull = !column.Constraint.NotNull
if !column.Constraint.NotNull && column.Constraint.HasDefaultValue {
isDefaultNull = false
}
if column.Name == primaryColumn {
isDefaultNull = false
}
}
@@ -205,6 +210,16 @@ func convertColumns(columns []*parser.Column, primaryColumn string) (Primary, ma
return Primary{}, nil, err
}
if column.Constraint != nil {
if column.Name == primaryColumn {
if !column.Constraint.AutoIncrement && dataType == "int64" {
log.Warning("%s: The primary key is recommended to add constraint `AUTO_INCREMENT`", column.Name)
}
} else if column.Constraint.NotNull && !column.Constraint.HasDefaultValue {
log.Warning("%s: The column is recommended to add constraint `DEFAULT`", column.Name)
}
}
var field Field
field.Name = stringx.From(column.Name)
field.DataType = dataType