Merge branch 'master' of github.com:nullbio/sqlboiler
This commit is contained in:
commit
05aa289167
4 changed files with 31 additions and 46 deletions
|
@ -15,7 +15,7 @@ func ({{$rel.Function.Receiver}} *{{$rel.LocalTable.NameGo}}) {{$rel.Function.Na
|
|||
func ({{$rel.Function.Receiver}} *{{$rel.LocalTable.NameGo}}) {{$rel.Function.Name}}X(exec boil.Executor, selectCols ...string) ({{$rel.ForeignTable.Slice}}, error) {
|
||||
var ret {{$rel.ForeignTable.Slice}}
|
||||
|
||||
selectColumns := `*`
|
||||
selectColumns := `"{{id 0}}".*`
|
||||
if len(selectCols) != 0 {
|
||||
selectColumns = `"{{id 0}}".` + strings.Join(selectCols, `","{{id 0}}"."`)
|
||||
}
|
||||
|
|
|
@ -5,10 +5,8 @@
|
|||
{{- range toManyRelationships .Table.Name .Tables -}}
|
||||
{{- $rel := textsFromRelationship $dot.Tables $table . -}}
|
||||
func Test{{$rel.LocalTable.NameGo}}ToMany{{$rel.Function.Name}}(t *testing.T) {
|
||||
tx, err := boil.Begin()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
var err error
|
||||
tx := MustTx(boil.Begin())
|
||||
defer tx.Rollback()
|
||||
|
||||
var a {{$rel.LocalTable.NameGo}}
|
||||
|
@ -18,19 +16,42 @@ func Test{{$rel.LocalTable.NameGo}}ToMany{{$rel.Function.Name}}(t *testing.T) {
|
|||
t.Fatal(err)
|
||||
}
|
||||
|
||||
boil.RandomizeStruct(&b, {{$rel.ForeignTable.NameSingular | camelCase}}DBTypes, true)
|
||||
boil.RandomizeStruct(&c, {{$rel.ForeignTable.NameSingular | camelCase}}DBTypes, true)
|
||||
boil.RandomizeStruct(&b, {{$rel.ForeignTable.NameSingular | camelCase}}DBTypes, true, "{{.ForeignColumn}}")
|
||||
boil.RandomizeStruct(&c, {{$rel.ForeignTable.NameSingular | camelCase}}DBTypes, true, "{{.ForeignColumn}}")
|
||||
{{if .Nullable -}}
|
||||
a.{{.Column | titleCase}}.Valid = true
|
||||
{{- end}}
|
||||
{{- if .ForeignColumnNullable -}}
|
||||
b.{{.ForeignColumn | titleCase}}.Valid = true
|
||||
c.{{.ForeignColumn | titleCase}}.Valid = true
|
||||
{{- end}}
|
||||
{{if not .ToJoinTable -}}
|
||||
b.{{$rel.Function.ForeignAssignment}} = a.{{$rel.Function.LocalAssignment}}
|
||||
c.{{$rel.Function.ForeignAssignment}} = a.{{$rel.Function.LocalAssignment}}
|
||||
if err := b.InsertX(tx); err != nil {
|
||||
{{- end}}
|
||||
if err = b.InsertX(tx); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := c.InsertX(tx); err != nil {
|
||||
if err = c.InsertX(tx); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
{{if .ToJoinTable -}}
|
||||
_, err = tx.Exec(`insert into {{.JoinTable}} ({{.JoinLocalColumn}}, {{.JoinForeignColumn}}) values ($1, $2)`, a.{{.Column | titleCase}}, b.{{.ForeignColumn | titleCase}})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
_, err = tx.Exec(`insert into {{.JoinTable}} ({{.JoinLocalColumn}}, {{.JoinForeignColumn}}) values ($1, $2)`, a.{{.Column | titleCase}}, c.{{.ForeignColumn | titleCase}})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
{{end}}
|
||||
|
||||
{{$varname := $rel.ForeignTable.NamePluralGo | toLower -}}
|
||||
{{$varname}}, err := a.{{$rel.Function.Name}}X(tx)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
bFound, cFound := false, false
|
||||
for _, v := range {{$varname}} {
|
||||
|
|
|
@ -4,10 +4,7 @@
|
|||
{{- range .Table.FKeys -}}
|
||||
{{- $rel := textsFromForeignKey $dot.Tables $dot.Table . -}}
|
||||
func Test{{$rel.LocalTable.NameGo}}ToOne{{$rel.ForeignTable.NameGo}}_{{$rel.LocalTable.ColumnNameGo}}(t *testing.T) {
|
||||
tx, err := boil.Begin()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
tx := MustTx(boil.Begin())
|
||||
defer tx.Rollback()
|
||||
|
||||
var foreign {{$rel.ForeignTable.NameGo}}
|
||||
|
|
|
@ -59,39 +59,6 @@ func textsFromForeignKey(tables []bdb.Table, table bdb.Table, fkey bdb.ForeignKe
|
|||
return r
|
||||
}
|
||||
|
||||
/*
|
||||
{{- $localTable := .Table.Name | singular | titleCase -}}
|
||||
{{- $localColumn := .Column | remove "_id" | singular | titleCase -}}
|
||||
{{- $foreignColumn := .ForeignColumn | remove "_id" | singular | titleCase -}}
|
||||
{{- $foreignTable := .ForeignTable | singular | titleCase -}}
|
||||
{{- $varname := .ForeignTable | singular | camelCase -}}
|
||||
func {{$localTable}}ToOne{{$foreignTable}}_{{$localColumn}}(t *testing.T) {
|
||||
tx, err := boil.Begin()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer tx.Rollback()
|
||||
|
||||
local := &{{$localTable}}{}
|
||||
foreign := &{{$foreignTable}}{}
|
||||
|
||||
if err := local.InsertX(tx); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
{{if and .Nullable .ForeignColumnNullable -}}
|
||||
foreign.{{.ForeignColumn | titleCase}} = local.{{.Column | titleCase}}
|
||||
{{- else if .Nullable -}}
|
||||
foreign.{{.ForeignColumn | titleCase}} = local.{{.Column | titleCase}}
|
||||
{{- else if .ForeignColumnNullable -}}
|
||||
{{- end}}
|
||||
if err := foreign.InsertX(tx); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
checkForeign, err := local.{{$localColumn}}()
|
||||
*/
|
||||
|
||||
// RelationshipToManyTexts contains text that will be used by templates.
|
||||
type RelationshipToManyTexts struct {
|
||||
LocalTable struct {
|
||||
|
|
Loading…
Add table
Reference in a new issue