mirror of
https://github.com/ent/ent.git
synced 2026-05-24 09:31:56 +03:00
cmd/ent: add comments to 'describe' command (#3067)
This commit is contained in:
@@ -44,7 +44,7 @@ func (p Config) node(t *gen.Type) {
|
||||
b strings.Builder
|
||||
id []*gen.Field
|
||||
table = tablewriter.NewWriter(&b)
|
||||
header = []string{"Field", "Type", "Unique", "Optional", "Nillable", "Default", "UpdateDefault", "Immutable", "StructTag", "Validators"}
|
||||
header = []string{"Field", "Type", "Unique", "Optional", "Nillable", "Default", "UpdateDefault", "Immutable", "StructTag", "Validators", "Comment"}
|
||||
)
|
||||
b.WriteString(t.Name + ":\n")
|
||||
table.SetAutoFormatHeaders(false)
|
||||
@@ -55,19 +55,20 @@ func (p Config) node(t *gen.Type) {
|
||||
for _, f := range append(id, t.Fields...) {
|
||||
v := reflect.ValueOf(*f)
|
||||
row := make([]string, len(header))
|
||||
for i := range row {
|
||||
for i := 0; i < len(row)-1; i++ {
|
||||
field := v.FieldByNameFunc(func(name string) bool {
|
||||
// The first field is mapped from "Name" to "Field".
|
||||
return name == "Name" && i == 0 || name == header[i]
|
||||
})
|
||||
row[i] = fmt.Sprint(field.Interface())
|
||||
}
|
||||
row[len(row)-1] = f.Comment()
|
||||
table.Append(row)
|
||||
}
|
||||
table.Render()
|
||||
table = tablewriter.NewWriter(&b)
|
||||
table.SetAutoFormatHeaders(false)
|
||||
table.SetHeader([]string{"Edge", "Type", "Inverse", "BackRef", "Relation", "Unique", "Optional"})
|
||||
table.SetHeader([]string{"Edge", "Type", "Inverse", "BackRef", "Relation", "Unique", "Optional", "Comment"})
|
||||
for _, e := range t.Edges {
|
||||
table.Append([]string{
|
||||
e.Name,
|
||||
@@ -77,6 +78,7 @@ func (p Config) node(t *gen.Type) {
|
||||
e.Rel.Type.String(),
|
||||
strconv.FormatBool(e.Unique),
|
||||
strconv.FormatBool(e.Optional),
|
||||
e.Comment(),
|
||||
})
|
||||
}
|
||||
if table.NumLines() > 0 {
|
||||
|
||||
@@ -35,14 +35,14 @@ func TestPrinter_Print(t *testing.T) {
|
||||
},
|
||||
out: `
|
||||
User:
|
||||
+------------+-----------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
| Field | Type | Unique | Optional | Nillable | Default | UpdateDefault | Immutable | StructTag | Validators |
|
||||
+------------+-----------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
| id | int | false | false | false | false | false | false | | 0 |
|
||||
| name | string | false | false | false | false | false | false | | 1 |
|
||||
| age | int | false | false | true | false | false | false | | 0 |
|
||||
| created_at | time.Time | false | false | true | false | false | true | | 0 |
|
||||
+------------+-----------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
+------------+-----------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
| Field | Type | Unique | Optional | Nillable | Default | UpdateDefault | Immutable | StructTag | Validators | Comment |
|
||||
+------------+-----------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
| id | int | false | false | false | false | false | false | | 0 | |
|
||||
| name | string | false | false | false | false | false | false | | 1 | |
|
||||
| age | int | false | false | true | false | false | false | | 0 | |
|
||||
| created_at | time.Time | false | false | true | false | false | true | | 0 | |
|
||||
+------------+-----------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
|
||||
`,
|
||||
},
|
||||
@@ -61,17 +61,17 @@ User:
|
||||
},
|
||||
out: `
|
||||
User:
|
||||
+-------+------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
| Field | Type | Unique | Optional | Nillable | Default | UpdateDefault | Immutable | StructTag | Validators |
|
||||
+-------+------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
| id | int | false | false | false | false | false | false | | 0 |
|
||||
+-------+------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
+--------+-------+---------+---------+----------+--------+----------+
|
||||
| Edge | Type | Inverse | BackRef | Relation | Unique | Optional |
|
||||
+--------+-------+---------+---------+----------+--------+----------+
|
||||
| groups | Group | false | | M2M | false | true |
|
||||
| spouse | User | false | | O2O | true | false |
|
||||
+--------+-------+---------+---------+----------+--------+----------+
|
||||
+-------+------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
| Field | Type | Unique | Optional | Nillable | Default | UpdateDefault | Immutable | StructTag | Validators | Comment |
|
||||
+-------+------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
| id | int | false | false | false | false | false | false | | 0 | |
|
||||
+-------+------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
+--------+-------+---------+---------+----------+--------+----------+---------+
|
||||
| Edge | Type | Inverse | BackRef | Relation | Unique | Optional | Comment |
|
||||
+--------+-------+---------+---------+----------+--------+----------+---------+
|
||||
| groups | Group | false | | M2M | false | true | |
|
||||
| spouse | User | false | | O2O | true | false | |
|
||||
+--------+-------+---------+---------+----------+--------+----------+---------+
|
||||
|
||||
`,
|
||||
},
|
||||
@@ -94,19 +94,19 @@ User:
|
||||
},
|
||||
out: `
|
||||
User:
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
| Field | Type | Unique | Optional | Nillable | Default | UpdateDefault | Immutable | StructTag | Validators |
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
| id | int | false | false | false | false | false | false | | 0 |
|
||||
| name | string | false | false | false | false | false | false | | 1 |
|
||||
| age | int | false | false | true | false | false | false | | 0 |
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
+--------+-------+---------+---------+----------+--------+----------+
|
||||
| Edge | Type | Inverse | BackRef | Relation | Unique | Optional |
|
||||
+--------+-------+---------+---------+----------+--------+----------+
|
||||
| groups | Group | false | | M2M | false | true |
|
||||
| spouse | User | false | | O2O | true | false |
|
||||
+--------+-------+---------+---------+----------+--------+----------+
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
| Field | Type | Unique | Optional | Nillable | Default | UpdateDefault | Immutable | StructTag | Validators | Comment |
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
| id | int | false | false | false | false | false | false | | 0 | |
|
||||
| name | string | false | false | false | false | false | false | | 1 | |
|
||||
| age | int | false | false | true | false | false | false | | 0 | |
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
+--------+-------+---------+---------+----------+--------+----------+---------+
|
||||
| Edge | Type | Inverse | BackRef | Relation | Unique | Optional | Comment |
|
||||
+--------+-------+---------+---------+----------+--------+----------+---------+
|
||||
| groups | Group | false | | M2M | false | true | |
|
||||
| spouse | User | false | | O2O | true | false | |
|
||||
+--------+-------+---------+---------+----------+--------+----------+---------+
|
||||
|
||||
`,
|
||||
},
|
||||
@@ -139,32 +139,32 @@ User:
|
||||
},
|
||||
out: `
|
||||
User:
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
| Field | Type | Unique | Optional | Nillable | Default | UpdateDefault | Immutable | StructTag | Validators |
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
| id | int | false | false | false | false | false | false | | 0 |
|
||||
| name | string | false | false | false | false | false | false | | 1 |
|
||||
| age | int | false | false | true | false | false | false | | 0 |
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
+--------+-------+---------+---------+----------+--------+----------+
|
||||
| Edge | Type | Inverse | BackRef | Relation | Unique | Optional |
|
||||
+--------+-------+---------+---------+----------+--------+----------+
|
||||
| groups | Group | false | | M2M | false | true |
|
||||
| spouse | User | false | | O2O | true | false |
|
||||
+--------+-------+---------+---------+----------+--------+----------+
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
| Field | Type | Unique | Optional | Nillable | Default | UpdateDefault | Immutable | StructTag | Validators | Comment |
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
| id | int | false | false | false | false | false | false | | 0 | |
|
||||
| name | string | false | false | false | false | false | false | | 1 | |
|
||||
| age | int | false | false | true | false | false | false | | 0 | |
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
+--------+-------+---------+---------+----------+--------+----------+---------+
|
||||
| Edge | Type | Inverse | BackRef | Relation | Unique | Optional | Comment |
|
||||
+--------+-------+---------+---------+----------+--------+----------+---------+
|
||||
| groups | Group | false | | M2M | false | true | |
|
||||
| spouse | User | false | | O2O | true | false | |
|
||||
+--------+-------+---------+---------+----------+--------+----------+---------+
|
||||
|
||||
Group:
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
| Field | Type | Unique | Optional | Nillable | Default | UpdateDefault | Immutable | StructTag | Validators |
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
| id | int | false | false | false | false | false | false | | 0 |
|
||||
| name | string | false | false | false | false | false | false | | 0 |
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+
|
||||
+-------+------+---------+---------+----------+--------+----------+
|
||||
| Edge | Type | Inverse | BackRef | Relation | Unique | Optional |
|
||||
+-------+------+---------+---------+----------+--------+----------+
|
||||
| users | User | false | | M2M | false | true |
|
||||
+-------+------+---------+---------+----------+--------+----------+
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
| Field | Type | Unique | Optional | Nillable | Default | UpdateDefault | Immutable | StructTag | Validators | Comment |
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
| id | int | false | false | false | false | false | false | | 0 | |
|
||||
| name | string | false | false | false | false | false | false | | 0 | |
|
||||
+-------+--------+--------+----------+----------+---------+---------------+-----------+-----------+------------+---------+
|
||||
+-------+------+---------+---------+----------+--------+----------+---------+
|
||||
| Edge | Type | Inverse | BackRef | Relation | Unique | Optional | Comment |
|
||||
+-------+------+---------+---------+----------+--------+----------+---------+
|
||||
| users | User | false | | M2M | false | true | |
|
||||
+-------+------+---------+---------+----------+--------+----------+---------+
|
||||
|
||||
`,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user