Fixed most template compile errors

* Empty params still erroring the exec due to comma
This commit is contained in:
Patrick O'brien 2016-05-03 23:42:25 +10:00
parent 9ec4da2f8b
commit f1e8b21c0e
4 changed files with 46 additions and 10 deletions

View file

@ -2,14 +2,20 @@
{{- $varNameSingular := camelCaseSingular .Table.Name -}}
type {{$varNameSingular}}Slice []*{{$tableNameSingular}}
func ({{$varNameSingular}}Query) One() (*{{$tableNameSingular}}, error) {
func (q {{$varNameSingular}}Query) One() (*{{$tableNameSingular}}, error) {
//var o *{{$tableNameSingular}}
//qs.Apply(q, qs.Limit(1))
//res := boil.ExecQueryOne(q)
return nil, nil
}
func ({{$varNameSingular}}Query) All() ({{$varNameSingular}}Slice, error) {
func (q {{$varNameSingular}}Query) All() ({{$varNameSingular}}Slice, error) {
return nil, nil
}
func ({{$varNameSingular}}Query) Count() (int64, error) {
func (q {{$varNameSingular}}Query) Count() (int64, error) {
return 0, nil
}

View file

@ -18,10 +18,10 @@ func (o *{{$tableNameSingular}}) UpdateX(exec boil.Executor, whitelist ... strin
{{$flagIndex := primaryKeyFlagIndex .Table.Columns .Table.PKey.Columns}}
var err error
if len(whitelist) == 0 {
_, err = db.Exec("UPDATE {{.Table.Name}} SET {{updateParamNames .Table.Columns .Table.PKey.Columns}} WHERE {{wherePrimaryKey .Table.PKey.Columns $flagIndex}}", {{updateParamVariables "o." .Table.Columns .Table.PKey.Columns}}, {{paramsPrimaryKey "o." .Table.PKey.Columns true}})
_, err = exec.Exec(`UPDATE {{.Table.Name}} SET {{updateParamNames .Table.Columns .Table.PKey.Columns}} WHERE {{wherePrimaryKey .Table.PKey.Columns $flagIndex}}`, {{updateParamVariables "o." .Table.Columns .Table.PKey.Columns}}, {{paramsPrimaryKey "o." .Table.PKey.Columns true}})
} else {
query := fmt.Sprintf(`UPDATE {{.Table.Name}} SET %s WHERE %s`, boil.SetParamNames(whitelist), WherePrimaryKey(len(whitelist)+1, {{commaList .Table.PKey.Columns}}))
_, err = db.Exec(query, {{updateParamVariables "o." .Table.Columns .Table.PKey.Columns}}, {{paramsPrimaryKey "o." .Table.PKey.Columns true}})
query := fmt.Sprintf(`UPDATE {{.Table.Name}} SET %s WHERE %s`, boil.SetParamNames(whitelist), boil.WherePrimaryKey(len(whitelist)+1, {{commaList .Table.PKey.Columns}}))
_, err = exec.Exec(query, {{updateParamVariables "o." .Table.Columns .Table.PKey.Columns}}, {{paramsPrimaryKey "o." .Table.PKey.Columns true}})
}
if err != nil {
@ -35,7 +35,7 @@ func (o *{{$tableNameSingular}}) UpdateX(exec boil.Executor, whitelist ... strin
return nil
}
func (v {{$varNameSingular}}Query) UpdateAll(cols boil.M) error {
func (v {{$varNameSingular}}Query) UpdateAll(cols M) error {
return nil
}
{{- end}}

View file

@ -315,9 +315,9 @@ func AutoIncPrimaryKey(cols []dbdrivers.Column, pkey *dbdrivers.PrimaryKey) stri
return ""
}
// CommaList returns a comma seperated list: "col1, col2, col3"
// CommaList returns a comma seperated list: "col1", "col2", "col3"
func CommaList(cols []string) string {
return strings.Join(cols, ", ")
return fmt.Sprintf(`"%s"`, strings.Join(cols, `", "`))
}
// ParamsPrimaryKey returns the parameters for the sql statement $ flags

View file

@ -11,6 +11,36 @@ var testColumns = []dbdrivers.Column{
{Name: "enemy_column_thing", Type: "string", IsNullable: true},
}
func TestCommaList(t *testing.T) {
t.Parallel()
cols := []string{
"test1",
}
x := CommaList(cols)
if x != `"test1"` {
t.Errorf(`Expected "test1" - got %s`, x)
}
cols = append(cols, "test2")
x = CommaList(cols)
if x != `"test1", "test2"` {
t.Errorf(`Expected "test1", "test2" - got %s`, x)
}
cols = append(cols, "test3")
x = CommaList(cols)
if x != `"test1", "test2", "test3"` {
t.Errorf(`Expected "test1", "test2", "test3" - got %s`, x)
}
}
func TestAutoIncPrimaryKey(t *testing.T) {
t.Parallel()