Add more text helpers for ToMany.
This commit is contained in:
parent
cc5ce81b8e
commit
ea22d3656c
4 changed files with 14 additions and 4 deletions
|
@ -28,11 +28,11 @@ func ({{$rel.Function.Receiver}} *{{$rel.LocalTable.NameGo}}) {{$rel.Function.Na
|
||||||
{{if .ToJoinTable -}}
|
{{if .ToJoinTable -}}
|
||||||
queryMods = append(queryMods,
|
queryMods = append(queryMods,
|
||||||
qm.InnerJoin(`"{{.JoinTable}}" as "{{id 1}}" on "{{id 0}}"."{{.ForeignColumn}}" = "{{id 1}}"."{{.JoinForeignColumn}}"`),
|
qm.InnerJoin(`"{{.JoinTable}}" as "{{id 1}}" on "{{id 0}}"."{{.ForeignColumn}}" = "{{id 1}}"."{{.JoinForeignColumn}}"`),
|
||||||
qm.Where(`"{{id 1}}"."{{.JoinLocalColumn}}"=$1`, {{.Column | titleCase | printf "%s.%s" $rel.Function.Receiver }}),
|
qm.Where(`"{{id 1}}"."{{.JoinLocalColumn}}"=$1`, {{$rel.Function.Receiver}}.{{$rel.LocalTable.ColumnNameGo}}),
|
||||||
)
|
)
|
||||||
{{else -}}
|
{{else -}}
|
||||||
queryMods = append(queryMods,
|
queryMods = append(queryMods,
|
||||||
qm.Where(`"{{id 0}}"."{{.ForeignColumn}}"=$1`, {{.Column | titleCase | printf "%s.%s" $rel.Function.Receiver }}),
|
qm.Where(`"{{id 0}}"."{{.ForeignColumn}}"=$1`, {{$rel.Function.Receiver}}.{{$rel.LocalTable.ColumnNameGo}}),
|
||||||
)
|
)
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
|
|
|
@ -41,11 +41,11 @@ func test{{$rel.LocalTable.NameGo}}ToMany{{$rel.Function.Name}}(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
{{if .ToJoinTable -}}
|
{{if .ToJoinTable -}}
|
||||||
_, err = tx.Exec(`insert into {{.JoinTable}} ({{.JoinLocalColumn}}, {{.JoinForeignColumn}}) values ($1, $2)`, a.{{.Column | titleCase}}, b.{{.ForeignColumn | titleCase}})
|
_, err = tx.Exec(`insert into "{{.JoinTable}}" ({{.JoinLocalColumn}}, {{.JoinForeignColumn}}) values ($1, $2)`, a.{{$rel.LocalTable.ColumnNameGo}}, b.{{$rel.ForeignTable.ColumnNameGo}})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
_, err = tx.Exec(`insert into {{.JoinTable}} ({{.JoinLocalColumn}}, {{.JoinForeignColumn}}) values ($1, $2)`, a.{{.Column | titleCase}}, c.{{.ForeignColumn | titleCase}})
|
_, err = tx.Exec(`insert into "{{.JoinTable}}" ({{.JoinLocalColumn}}, {{.JoinForeignColumn}}) values ($1, $2)`, a.{{$rel.LocalTable.ColumnNameGo}}, c.{{$rel.ForeignTable.ColumnNameGo}})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,6 +100,7 @@ type RelationshipToManyTexts struct {
|
||||||
LocalTable struct {
|
LocalTable struct {
|
||||||
NameGo string
|
NameGo string
|
||||||
NameSingular string
|
NameSingular string
|
||||||
|
ColumnNameGo string
|
||||||
}
|
}
|
||||||
|
|
||||||
ForeignTable struct {
|
ForeignTable struct {
|
||||||
|
@ -107,6 +108,7 @@ type RelationshipToManyTexts struct {
|
||||||
NameSingular string
|
NameSingular string
|
||||||
NamePluralGo string
|
NamePluralGo string
|
||||||
NameHumanReadable string
|
NameHumanReadable string
|
||||||
|
ColumnNameGo string
|
||||||
Slice string
|
Slice string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,10 +127,12 @@ func textsFromRelationship(tables []bdb.Table, table bdb.Table, rel bdb.ToManyRe
|
||||||
r := RelationshipToManyTexts{}
|
r := RelationshipToManyTexts{}
|
||||||
r.LocalTable.NameSingular = strmangle.Singular(table.Name)
|
r.LocalTable.NameSingular = strmangle.Singular(table.Name)
|
||||||
r.LocalTable.NameGo = strmangle.TitleCase(r.LocalTable.NameSingular)
|
r.LocalTable.NameGo = strmangle.TitleCase(r.LocalTable.NameSingular)
|
||||||
|
r.LocalTable.ColumnNameGo = strmangle.TitleCase(rel.Column)
|
||||||
|
|
||||||
r.ForeignTable.NameSingular = strmangle.Singular(rel.ForeignTable)
|
r.ForeignTable.NameSingular = strmangle.Singular(rel.ForeignTable)
|
||||||
r.ForeignTable.NamePluralGo = strmangle.TitleCase(strmangle.Plural(rel.ForeignTable))
|
r.ForeignTable.NamePluralGo = strmangle.TitleCase(strmangle.Plural(rel.ForeignTable))
|
||||||
r.ForeignTable.NameGo = strmangle.TitleCase(r.ForeignTable.NameSingular)
|
r.ForeignTable.NameGo = strmangle.TitleCase(r.ForeignTable.NameSingular)
|
||||||
|
r.ForeignTable.ColumnNameGo = strmangle.TitleCase(rel.ForeignColumn)
|
||||||
r.ForeignTable.Slice = fmt.Sprintf("%sSlice", strmangle.TitleCase(r.ForeignTable.NameSingular))
|
r.ForeignTable.Slice = fmt.Sprintf("%sSlice", strmangle.TitleCase(r.ForeignTable.NameSingular))
|
||||||
r.ForeignTable.NameHumanReadable = strings.Replace(rel.ForeignTable, "_", " ", -1)
|
r.ForeignTable.NameHumanReadable = strings.Replace(rel.ForeignTable, "_", " ", -1)
|
||||||
|
|
||||||
|
|
|
@ -107,11 +107,13 @@ func TestTextsFromRelationship(t *testing.T) {
|
||||||
expect := RelationshipToManyTexts{}
|
expect := RelationshipToManyTexts{}
|
||||||
expect.LocalTable.NameGo = "Pilot"
|
expect.LocalTable.NameGo = "Pilot"
|
||||||
expect.LocalTable.NameSingular = "pilot"
|
expect.LocalTable.NameSingular = "pilot"
|
||||||
|
expect.LocalTable.ColumnNameGo = "ID"
|
||||||
|
|
||||||
expect.ForeignTable.NameGo = "Jet"
|
expect.ForeignTable.NameGo = "Jet"
|
||||||
expect.ForeignTable.NameSingular = "jet"
|
expect.ForeignTable.NameSingular = "jet"
|
||||||
expect.ForeignTable.NamePluralGo = "Jets"
|
expect.ForeignTable.NamePluralGo = "Jets"
|
||||||
expect.ForeignTable.NameHumanReadable = "jets"
|
expect.ForeignTable.NameHumanReadable = "jets"
|
||||||
|
expect.ForeignTable.ColumnNameGo = "PilotID"
|
||||||
expect.ForeignTable.Slice = "JetSlice"
|
expect.ForeignTable.Slice = "JetSlice"
|
||||||
|
|
||||||
expect.Function.Name = "Jets"
|
expect.Function.Name = "Jets"
|
||||||
|
@ -127,11 +129,13 @@ func TestTextsFromRelationship(t *testing.T) {
|
||||||
expect = RelationshipToManyTexts{}
|
expect = RelationshipToManyTexts{}
|
||||||
expect.LocalTable.NameGo = "Pilot"
|
expect.LocalTable.NameGo = "Pilot"
|
||||||
expect.LocalTable.NameSingular = "pilot"
|
expect.LocalTable.NameSingular = "pilot"
|
||||||
|
expect.LocalTable.ColumnNameGo = "ID"
|
||||||
|
|
||||||
expect.ForeignTable.NameGo = "License"
|
expect.ForeignTable.NameGo = "License"
|
||||||
expect.ForeignTable.NameSingular = "license"
|
expect.ForeignTable.NameSingular = "license"
|
||||||
expect.ForeignTable.NamePluralGo = "Licenses"
|
expect.ForeignTable.NamePluralGo = "Licenses"
|
||||||
expect.ForeignTable.NameHumanReadable = "licenses"
|
expect.ForeignTable.NameHumanReadable = "licenses"
|
||||||
|
expect.ForeignTable.ColumnNameGo = "PilotID"
|
||||||
expect.ForeignTable.Slice = "LicenseSlice"
|
expect.ForeignTable.Slice = "LicenseSlice"
|
||||||
|
|
||||||
expect.Function.Name = "Licenses"
|
expect.Function.Name = "Licenses"
|
||||||
|
@ -147,11 +151,13 @@ func TestTextsFromRelationship(t *testing.T) {
|
||||||
expect = RelationshipToManyTexts{}
|
expect = RelationshipToManyTexts{}
|
||||||
expect.LocalTable.NameGo = "Pilot"
|
expect.LocalTable.NameGo = "Pilot"
|
||||||
expect.LocalTable.NameSingular = "pilot"
|
expect.LocalTable.NameSingular = "pilot"
|
||||||
|
expect.LocalTable.ColumnNameGo = "ID"
|
||||||
|
|
||||||
expect.ForeignTable.NameGo = "Language"
|
expect.ForeignTable.NameGo = "Language"
|
||||||
expect.ForeignTable.NameSingular = "language"
|
expect.ForeignTable.NameSingular = "language"
|
||||||
expect.ForeignTable.NamePluralGo = "Languages"
|
expect.ForeignTable.NamePluralGo = "Languages"
|
||||||
expect.ForeignTable.NameHumanReadable = "languages"
|
expect.ForeignTable.NameHumanReadable = "languages"
|
||||||
|
expect.ForeignTable.ColumnNameGo = "ID"
|
||||||
expect.ForeignTable.Slice = "LanguageSlice"
|
expect.ForeignTable.Slice = "LanguageSlice"
|
||||||
|
|
||||||
expect.Function.Name = "Languages"
|
expect.Function.Name = "Languages"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue