MCPcopy
hub / github.com/go-gorm/gorm / ParseCheckConstraints

Method ParseCheckConstraints

schema/constraint.go:26–43  ·  view source on GitHub ↗

ParseCheckConstraints parse schema check constraints

()

Source from the content-addressed store, hash-verified

24
25// ParseCheckConstraints parse schema check constraints
26func (schema *Schema) ParseCheckConstraints() map[string]CheckConstraint {
27 checks := map[string]CheckConstraint{}
28 for _, field := range schema.FieldsByDBName {
29 if chk := field.TagSettings["CHECK"]; chk != "" {
30 names := strings.Split(chk, ",")
31 if len(names) > 1 && regEnLetterAndMidline.MatchString(names[0]) {
32 checks[names[0]] = CheckConstraint{Name: names[0], Constraint: strings.Join(names[1:], ","), Field: field}
33 } else {
34 if names[0] == "" {
35 chk = strings.Join(names[1:], ",")
36 }
37 name := schema.namer.CheckerName(schema.Table, field.DBName)
38 checks[name] = CheckConstraint{Name: name, Constraint: chk, Field: field}
39 }
40 }
41 }
42 return checks
43}
44
45type UniqueConstraint struct {
46 Name string

Callers 4

AutoMigrateMethod · 0.80
CreateTableMethod · 0.80
TestParseCheckFunction · 0.80

Calls 1

CheckerNameMethod · 0.65

Tested by 1

TestParseCheckFunction · 0.64