Fix all references to moved elements.
This commit is contained in:
parent
12967f7b66
commit
f803cdd6bd
15 changed files with 51 additions and 49 deletions
20
README.md
20
README.md
|
@ -291,7 +291,7 @@ with SQLBoiler. If you find there are some failing tests, please check the
|
|||
sqlboiler -x goose_migrations postgres
|
||||
|
||||
# Run the generated tests
|
||||
go test ./models
|
||||
go test ./models
|
||||
```
|
||||
|
||||
## Diagnosing Problems
|
||||
|
@ -425,7 +425,7 @@ Note: You can set the timezone for this feature by calling `boil.SetLocation()`
|
|||
This is somewhat of a work around until we can devise a better solution in a later version.
|
||||
* **Update**
|
||||
* The `updated_at` column will always be set to `time.Now()`. If you need to override
|
||||
this value you will need to fall back to another method in the meantime: `boil.SQL()`,
|
||||
this value you will need to fall back to another method in the meantime: `queries.Raw()`,
|
||||
overriding `updated_at` in all of your objects using a hook, or create your own wrapper.
|
||||
* **Upsert**
|
||||
* `created_at` will be set automatically if it is a zero value, otherwise your supplied value
|
||||
|
@ -463,7 +463,7 @@ err := models.NewQuery(db, From("pilots")).All()
|
|||
As you can see, [Query Mods](#query-mods) allow you to modify your queries, and [Finishers](#finishers)
|
||||
allow you to execute the final action.
|
||||
|
||||
We also generate query building helper methods for your relationships as well. Take a look at our
|
||||
We also generate query building helper methods for your relationships as well. Take a look at our
|
||||
[Relationships Query Building](#relationships) section for some additional query building information.
|
||||
|
||||
|
||||
|
@ -565,17 +565,17 @@ Query() // Execute an SQL query expected to return multiple rows.
|
|||
|
||||
### Raw Query
|
||||
|
||||
We provide `boil.SQL()` for executing raw queries. Generally you will want to use `Bind()` with
|
||||
We provide `queries.Raw()` for executing raw queries. Generally you will want to use `Bind()` with
|
||||
this, like the following:
|
||||
|
||||
```go
|
||||
err := boil.SQL(db, "select * from pilots where id=$1", 5).Bind(&obj)
|
||||
err := queries.Raw(db, "select * from pilots where id=$1", 5).Bind(&obj)
|
||||
```
|
||||
|
||||
You can use your own structs or a generated struct as a parameter to Bind. Bind supports both
|
||||
a single object for single row queries and a slice of objects for multiple row queries.
|
||||
|
||||
`boil.SQL()` also has a method that can execute a query without binding to an object, if required.
|
||||
`queries.Raw()` also has a method that can execute a query without binding to an object, if required.
|
||||
|
||||
You also have `models.NewQuery()` at your disposal if you would still like to use [Query Building](#query-building)
|
||||
in combination with your own custom, non-generated model.
|
||||
|
@ -601,7 +601,7 @@ type PilotAndJet struct {
|
|||
|
||||
var paj PilotAndJet
|
||||
// Use a raw query
|
||||
err := boil.SQL(`
|
||||
err := queries.Raw(`
|
||||
select pilots.id as "pilots.id", pilots.name as "pilots.name",
|
||||
jets.id as "jets.id", jets.pilot_id as "jets.pilot_id",
|
||||
jets.age as "jets.age", jets.name as "jets.name", jets.color as "jets.color"
|
||||
|
@ -629,7 +629,7 @@ var info JetInfo
|
|||
err := models.NewQuery(db, Select("sum(age) as age_sum", "count(*) as juicy_count", From("jets"))).Bind(&info)
|
||||
|
||||
// Use a raw query
|
||||
err := boil.SQL(`select sum(age) as "age_sum", count(*) as "juicy_count" from jets`).Bind(&info)
|
||||
err := queries.Raw(`select sum(age) as "age_sum", count(*) as "juicy_count" from jets`).Bind(&info)
|
||||
```
|
||||
|
||||
We support the following struct tag modes for `Bind()` control:
|
||||
|
@ -990,7 +990,7 @@ err := p1.Upsert(db, true, []string{"id"}, []string{"name"}, "id", "name")
|
|||
The `updateOnConflict` argument allows you to specify whether you would like Postgres
|
||||
to perform a `DO NOTHING` on conflict, opposed to a `DO UPDATE`. For MySQL, this param will not be generated.
|
||||
|
||||
The `conflictColumns` argument allows you to specify the `ON CONFLICT` columns for Postgres.
|
||||
The `conflictColumns` argument allows you to specify the `ON CONFLICT` columns for Postgres.
|
||||
For MySQL, this param will not be generated.
|
||||
|
||||
Note: Passing a different set of column values to the update component is not currently supported.
|
||||
|
@ -1062,7 +1062,7 @@ Please note that multi-dimensional Postgres ARRAY types are not supported at thi
|
|||
|
||||
#### Where is the homepage?
|
||||
|
||||
The homepage for the [SQLBoiler](https://github.com/vattle/sqlboiler) [Golang ORM](https://github.com/vattle/sqlboiler) generator is located at: https://github.com/vattle/sqlboiler
|
||||
The homepage for the [SQLBoiler](https://github.com/vattle/sqlboiler) [Golang ORM](https://github.com/vattle/sqlboiler) generator is located at: https://github.com/vattle/sqlboiler
|
||||
|
||||
## Benchmarks
|
||||
|
||||
|
|
|
@ -153,6 +153,7 @@ var defaultTemplateImports = imports{
|
|||
thirdParty: importList{
|
||||
`"github.com/pkg/errors"`,
|
||||
`"github.com/vattle/sqlboiler/boil"`,
|
||||
`"github.com/vattle/sqlboiler/queries"`,
|
||||
`"github.com/vattle/sqlboiler/queries/qm"`,
|
||||
`"github.com/vattle/sqlboiler/strmangle"`,
|
||||
},
|
||||
|
@ -162,6 +163,7 @@ var defaultSingletonTemplateImports = map[string]imports{
|
|||
"boil_queries": {
|
||||
thirdParty: importList{
|
||||
`"github.com/vattle/sqlboiler/boil"`,
|
||||
`"github.com/vattle/sqlboiler/queries"`,
|
||||
`"github.com/vattle/sqlboiler/queries/qm"`,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,14 +16,14 @@ type (
|
|||
{{- end}}
|
||||
|
||||
{{$varNameSingular}}Query struct {
|
||||
*boil.Query
|
||||
*queries.Query
|
||||
}
|
||||
)
|
||||
|
||||
// Cache for insert and update
|
||||
var (
|
||||
{{$varNameSingular}}Type = reflect.TypeOf(&{{$tableNameSingular}}{})
|
||||
{{$varNameSingular}}Mapping = boil.MakeStructMapping({{$varNameSingular}}Type)
|
||||
{{$varNameSingular}}Mapping = queries.MakeStructMapping({{$varNameSingular}}Type)
|
||||
{{$varNameSingular}}InsertCacheMut sync.RWMutex
|
||||
{{$varNameSingular}}InsertCache = make(map[string]insertCache)
|
||||
{{$varNameSingular}}UpdateCacheMut sync.RWMutex
|
||||
|
|
|
@ -14,7 +14,7 @@ func (q {{$varNameSingular}}Query) OneP() (*{{$tableNameSingular}}) {
|
|||
func (q {{$varNameSingular}}Query) One() (*{{$tableNameSingular}}, error) {
|
||||
o := &{{$tableNameSingular}}{}
|
||||
|
||||
boil.SetLimit(q.Query, 1)
|
||||
queries.SetLimit(q.Query, 1)
|
||||
|
||||
err := q.Bind(o)
|
||||
if err != nil {
|
||||
|
@ -25,7 +25,7 @@ func (q {{$varNameSingular}}Query) One() (*{{$tableNameSingular}}, error) {
|
|||
}
|
||||
|
||||
{{if not .NoHooks -}}
|
||||
if err := o.doAfterSelectHooks(boil.GetExecutor(q.Query)); err != nil {
|
||||
if err := o.doAfterSelectHooks(queries.GetExecutor(q.Query)); err != nil {
|
||||
return o, err
|
||||
}
|
||||
{{- end}}
|
||||
|
@ -55,7 +55,7 @@ func (q {{$varNameSingular}}Query) All() ({{$tableNameSingular}}Slice, error) {
|
|||
{{if not .NoHooks -}}
|
||||
if len({{$varNameSingular}}AfterSelectHooks) != 0 {
|
||||
for _, obj := range o {
|
||||
if err := obj.doAfterSelectHooks(boil.GetExecutor(q.Query)); err != nil {
|
||||
if err := obj.doAfterSelectHooks(queries.GetExecutor(q.Query)); err != nil {
|
||||
return o, err
|
||||
}
|
||||
}
|
||||
|
@ -79,8 +79,8 @@ func (q {{$varNameSingular}}Query) CountP() int64 {
|
|||
func (q {{$varNameSingular}}Query) Count() (int64, error) {
|
||||
var count int64
|
||||
|
||||
boil.SetSelect(q.Query, nil)
|
||||
boil.SetCount(q.Query)
|
||||
queries.SetSelect(q.Query, nil)
|
||||
queries.SetCount(q.Query)
|
||||
|
||||
err := q.Query.QueryRow().Scan(&count)
|
||||
if err != nil {
|
||||
|
@ -104,8 +104,8 @@ func (q {{$varNameSingular}}Query) ExistsP() bool {
|
|||
func (q {{$varNameSingular}}Query) Exists() (bool, error) {
|
||||
var count int64
|
||||
|
||||
boil.SetCount(q.Query)
|
||||
boil.SetLimit(q.Query, 1)
|
||||
queries.SetCount(q.Query)
|
||||
queries.SetLimit(q.Query, 1)
|
||||
|
||||
err := q.Query.QueryRow().Scan(&count)
|
||||
if err != nil {
|
||||
|
|
|
@ -16,7 +16,7 @@ func ({{.Function.Receiver}} *{{.LocalTable.NameGo}}) {{.Function.Name}}(exec bo
|
|||
queryMods = append(queryMods, mods...)
|
||||
|
||||
query := {{.ForeignTable.NamePluralGo}}(exec, queryMods...)
|
||||
boil.SetFrom(query.Query, "{{.ForeignTable.Name | $dot.SchemaTable}}")
|
||||
queries.SetFrom(query.Query, "{{.ForeignTable.Name | $dot.SchemaTable}}")
|
||||
|
||||
return query
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ func ({{$rel.Function.Receiver}} *{{$rel.LocalTable.NameGo}}) {{$rel.Function.Na
|
|||
{{end}}
|
||||
|
||||
query := {{$rel.ForeignTable.NamePluralGo}}(exec, queryMods...)
|
||||
boil.SetFrom(query.Query, "{{$schemaForeignTable}} as {{id 0 | $dot.Quotes}}")
|
||||
queries.SetFrom(query.Query, "{{$schemaForeignTable}} as {{id 0 | $dot.Quotes}}")
|
||||
return query
|
||||
}
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ func ({{$varNameSingular}}L) Load{{.Function.Name}}(e boil.Executor, singular bo
|
|||
defer results.Close()
|
||||
|
||||
var resultSlice []*{{.ForeignTable.NameGo}}
|
||||
if err = boil.Bind(results, &resultSlice); err != nil {
|
||||
if err = queries.Bind(results, &resultSlice); err != nil {
|
||||
return errors.Wrap(err, "failed to bind eager loaded slice {{.ForeignTable.NameGo}}")
|
||||
}
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ func ({{$varNameSingular}}L) Load{{$txt.Function.Name}}(e boil.Executor, singula
|
|||
return errors.Wrap(err, "failed to plebian-bind eager loaded slice {{.ForeignTable}}")
|
||||
}
|
||||
{{else -}}
|
||||
if err = boil.Bind(results, &resultSlice); err != nil {
|
||||
if err = queries.Bind(results, &resultSlice); err != nil {
|
||||
return errors.Wrap(err, "failed to bind eager loaded slice {{.ForeignTable}}")
|
||||
}
|
||||
{{end}}
|
||||
|
|
|
@ -32,7 +32,7 @@ func Find{{$tableNameSingular}}(exec boil.Executor, {{$pkArgs}}, selectCols ...s
|
|||
"select %s from {{.Table.Name | .SchemaTable}} where {{if .Dialect.IndexPlaceholders}}{{whereClause .LQ .RQ 1 .Table.PKey.Columns}}{{else}}{{whereClause .LQ .RQ 0 .Table.PKey.Columns}}{{end}}", sel,
|
||||
)
|
||||
|
||||
q := boil.SQL(exec, query, {{$pkNames | join ", "}})
|
||||
q := queries.Raw(exec, query, {{$pkNames | join ", "}})
|
||||
|
||||
err := q.Bind({{$varNameSingular}}Obj)
|
||||
if err != nil {
|
||||
|
|
|
@ -41,7 +41,7 @@ func (o *{{$tableNameSingular}}) Insert(exec boil.Executor, whitelist ... string
|
|||
}
|
||||
{{- end}}
|
||||
|
||||
nzDefaults := boil.NonZeroDefaultSet({{$varNameSingular}}ColumnsWithDefault, o)
|
||||
nzDefaults := queries.NonZeroDefaultSet({{$varNameSingular}}ColumnsWithDefault, o)
|
||||
|
||||
key := makeCacheKey(whitelist, nzDefaults)
|
||||
{{$varNameSingular}}InsertCacheMut.RLock()
|
||||
|
@ -57,11 +57,11 @@ func (o *{{$tableNameSingular}}) Insert(exec boil.Executor, whitelist ... string
|
|||
whitelist,
|
||||
)
|
||||
|
||||
cache.valueMapping, err = boil.BindMapping({{$varNameSingular}}Type, {{$varNameSingular}}Mapping, wl)
|
||||
cache.valueMapping, err = queries.BindMapping({{$varNameSingular}}Type, {{$varNameSingular}}Mapping, wl)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
cache.retMapping, err = boil.BindMapping({{$varNameSingular}}Type, {{$varNameSingular}}Mapping, returnColumns)
|
||||
cache.retMapping, err = queries.BindMapping({{$varNameSingular}}Type, {{$varNameSingular}}Mapping, returnColumns)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ func (o *{{$tableNameSingular}}) Insert(exec boil.Executor, whitelist ... string
|
|||
}
|
||||
|
||||
value := reflect.Indirect(reflect.ValueOf(o))
|
||||
vals := boil.ValuesFromMapping(value, cache.valueMapping)
|
||||
vals := queries.ValuesFromMapping(value, cache.valueMapping)
|
||||
{{if .UseLastInsertID}}
|
||||
if boil.DebugMode {
|
||||
fmt.Fprintln(boil.DebugWriter, cache.query)
|
||||
|
@ -122,14 +122,14 @@ func (o *{{$tableNameSingular}}) Insert(exec boil.Executor, whitelist ... string
|
|||
fmt.Fprintln(boil.DebugWriter, identifierCols...)
|
||||
}
|
||||
|
||||
err = exec.QueryRow(cache.retQuery, identifierCols...).Scan(boil.PtrsFromMapping(value, cache.retMapping)...)
|
||||
err = exec.QueryRow(cache.retQuery, identifierCols...).Scan(queries.PtrsFromMapping(value, cache.retMapping)...)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "{{.PkgName}}: unable to populate default values for {{.Table.Name}}")
|
||||
}
|
||||
}
|
||||
{{else}}
|
||||
if len(cache.retMapping) != 0 {
|
||||
err = exec.QueryRow(cache.query, vals...).Scan(boil.PtrsFromMapping(value, cache.retMapping)...)
|
||||
err = exec.QueryRow(cache.query, vals...).Scan(queries.PtrsFromMapping(value, cache.retMapping)...)
|
||||
} else {
|
||||
_, err = exec.Exec(cache.query, vals...)
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ func (o *{{$tableNameSingular}}) Update(exec boil.Executor, whitelist ... string
|
|||
strmangle.SetParamNames("{{.LQ}}", "{{.RQ}}", {{if .Dialect.IndexPlaceholders}}1{{else}}0{{end}}, wl),
|
||||
strmangle.WhereClause("{{.LQ}}", "{{.RQ}}", {{if .Dialect.IndexPlaceholders}}len(wl)+1{{else}}0{{end}}, {{$varNameSingular}}PrimaryKeyColumns),
|
||||
)
|
||||
cache.valueMapping, err = boil.BindMapping({{$varNameSingular}}Type, {{$varNameSingular}}Mapping, append(wl, {{$varNameSingular}}PrimaryKeyColumns...))
|
||||
cache.valueMapping, err = queries.BindMapping({{$varNameSingular}}Type, {{$varNameSingular}}Mapping, append(wl, {{$varNameSingular}}PrimaryKeyColumns...))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ func (o *{{$tableNameSingular}}) Update(exec boil.Executor, whitelist ... string
|
|||
return errors.New("{{.PkgName}}: unable to update {{.Table.Name}}, could not build whitelist")
|
||||
}
|
||||
|
||||
values := boil.ValuesFromMapping(reflect.Indirect(reflect.ValueOf(o)), cache.valueMapping)
|
||||
values := queries.ValuesFromMapping(reflect.Indirect(reflect.ValueOf(o)), cache.valueMapping)
|
||||
|
||||
if boil.DebugMode {
|
||||
fmt.Fprintln(boil.DebugWriter, cache.query)
|
||||
|
@ -105,7 +105,7 @@ func (q {{$varNameSingular}}Query) UpdateAllP(cols M) {
|
|||
|
||||
// UpdateAll updates all rows with the specified column values.
|
||||
func (q {{$varNameSingular}}Query) UpdateAll(cols M) error {
|
||||
boil.SetUpdate(q.Query, cols)
|
||||
queries.SetUpdate(q.Query, cols)
|
||||
|
||||
_, err := q.Query.Exec()
|
||||
if err != nil {
|
||||
|
|
|
@ -41,7 +41,7 @@ func (o *{{$tableNameSingular}}) Upsert(exec boil.Executor, {{if ne .DriverName
|
|||
{{$varNameSingular}}Columns,
|
||||
{{$varNameSingular}}ColumnsWithDefault,
|
||||
{{$varNameSingular}}ColumnsWithoutDefault,
|
||||
boil.NonZeroDefaultSet({{$varNameSingular}}ColumnsWithDefault, o),
|
||||
queries.NonZeroDefaultSet({{$varNameSingular}}ColumnsWithDefault, o),
|
||||
whitelist,
|
||||
)
|
||||
update := strmangle.UpdateColumnSet(
|
||||
|
@ -56,18 +56,18 @@ func (o *{{$tableNameSingular}}) Upsert(exec boil.Executor, {{if ne .DriverName
|
|||
conflict = make([]string, len({{$varNameSingular}}PrimaryKeyColumns))
|
||||
copy(conflict, {{$varNameSingular}}PrimaryKeyColumns)
|
||||
}
|
||||
query := boil.BuildUpsertQueryPostgres(dialect, "{{$schemaTable}}", updateOnConflict, ret, update, conflict, whitelist)
|
||||
query := queries.BuildUpsertQueryPostgres(dialect, "{{$schemaTable}}", updateOnConflict, ret, update, conflict, whitelist)
|
||||
{{- else -}}
|
||||
query := boil.BuildUpsertQueryMySQL(dialect, "{{.Table.Name}}", update, whitelist)
|
||||
query := queries.BuildUpsertQueryMySQL(dialect, "{{.Table.Name}}", update, whitelist)
|
||||
{{- end}}
|
||||
|
||||
if boil.DebugMode {
|
||||
fmt.Fprintln(boil.DebugWriter, query)
|
||||
fmt.Fprintln(boil.DebugWriter, boil.GetStructValues(o, whitelist...))
|
||||
fmt.Fprintln(boil.DebugWriter, queries.GetStructValues(o, whitelist...))
|
||||
}
|
||||
|
||||
{{- if .UseLastInsertID}}
|
||||
result, err := exec.Exec(query, boil.GetStructValues(o, whitelist...)...)
|
||||
result, err := exec.Exec(query, queries.GetStructValues(o, whitelist...)...)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "{{.PkgName}}: unable to upsert for {{.Table.Name}}")
|
||||
}
|
||||
|
@ -110,16 +110,16 @@ func (o *{{$tableNameSingular}}) Upsert(exec boil.Executor, {{if ne .DriverName
|
|||
fmt.Fprintln(boil.DebugWriter, identifierCols...)
|
||||
}
|
||||
|
||||
err = exec.QueryRow(retQuery, identifierCols...).Scan(boil.GetStructPointers(o, ret...)...)
|
||||
err = exec.QueryRow(retQuery, identifierCols...).Scan(queries.GetStructPointers(o, ret...)...)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "{{.PkgName}}: unable to populate default values for {{.Table.Name}}")
|
||||
}
|
||||
}
|
||||
{{- else}}
|
||||
if len(ret) != 0 {
|
||||
err = exec.QueryRow(query, boil.GetStructValues(o, whitelist...)...).Scan(boil.GetStructPointers(o, ret...)...)
|
||||
err = exec.QueryRow(query, queries.GetStructValues(o, whitelist...)...).Scan(queries.GetStructPointers(o, ret...)...)
|
||||
} else {
|
||||
_, err = exec.Exec(query, boil.GetStructValues(o, whitelist...)...)
|
||||
_, err = exec.Exec(query, queries.GetStructValues(o, whitelist...)...)
|
||||
}
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "{{.PkgName}}: unable to upsert for {{.Table.Name}}")
|
||||
|
|
|
@ -78,7 +78,7 @@ func (q {{$varNameSingular}}Query) DeleteAll() error {
|
|||
return errors.New("{{.PkgName}}: no {{$varNameSingular}}Query provided for delete all")
|
||||
}
|
||||
|
||||
boil.SetDelete(q.Query)
|
||||
queries.SetDelete(q.Query)
|
||||
|
||||
_, err := q.Query.Exec()
|
||||
if err != nil {
|
||||
|
|
|
@ -73,7 +73,7 @@ func (o *{{$tableNameSingular}}Slice) ReloadAll(exec boil.Executor) error {
|
|||
strmangle.Placeholders(dialect.IndexPlaceholders, len(*o) * len({{$varNameSingular}}PrimaryKeyColumns), 1, len({{$varNameSingular}}PrimaryKeyColumns)),
|
||||
)
|
||||
|
||||
q := boil.SQL(exec, sql, args...)
|
||||
q := queries.Raw(exec, sql, args...)
|
||||
|
||||
err := q.Bind(&{{$varNamePlural}})
|
||||
if err != nil {
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
var dialect = boil.Dialect{
|
||||
var dialect = queries.Dialect{
|
||||
LQ: 0x{{printf "%x" .Dialect.LQ}},
|
||||
RQ: 0x{{printf "%x" .Dialect.RQ}},
|
||||
IndexPlaceholders: {{.Dialect.IndexPlaceholders}},
|
||||
}
|
||||
|
||||
// NewQueryG initializes a new Query using the passed in QueryMods
|
||||
func NewQueryG(mods ...qm.QueryMod) *boil.Query {
|
||||
func NewQueryG(mods ...qm.QueryMod) *queries.Query {
|
||||
return NewQuery(boil.GetDB(), mods...)
|
||||
}
|
||||
|
||||
// NewQuery initializes a new Query using the passed in QueryMods
|
||||
func NewQuery(exec boil.Executor, mods ...qm.QueryMod) *boil.Query {
|
||||
q := &boil.Query{}
|
||||
boil.SetExecutor(q, exec)
|
||||
boil.SetDialect(q, &dialect)
|
||||
func NewQuery(exec boil.Executor, mods ...qm.QueryMod) *queries.Query {
|
||||
q := &queries.Query{}
|
||||
queries.SetExecutor(q, exec)
|
||||
queries.SetDialect(q, &dialect)
|
||||
qm.Apply(q, mods...)
|
||||
|
||||
return q
|
||||
|
|
Loading…
Add table
Reference in a new issue