@@ -31,11 +31,28 @@ func (o *{{$alias.UpSingular}}) InsertGP({{if not .NoContext}}ctx context.Contex
3131
3232{{end -}}
3333
34+
35+ // SetCustomTableName sets the custom table name for insertion
36+ func (o *{{$alias .UpSingular }}) SetCustomTableName(tableName string) {
37+ o.customTableName = tableName
38+ }
39+
40+ func (o *{{$alias .UpSingular }}) getTableName() string {
41+ if len (o.customTableName ) > 0 {
42+ return o.customTableName
43+ }
44+
45+ return {{$alias .UpSingular }}TableName
46+ }
47+
48+
3449// Insert a single record using an executor.
3550// See boil.Columns.InsertColumnSet documentation to understand column list inference for inserts.
3651func (o *{{$alias .UpSingular }}) Insert({{if .NoContext }}exec boil.Executor {{else }}ctx context.Context , exec boil.ContextExecutor {{end }}, columns boil.Columns ) error {
52+ var tableName = o.getTableName ()
53+
3754 if o == nil {
38- return errors.New (" {{.PkgName}}: no {{.Table.Name}} provided for insertion" )
55+ return errors.New (" {{.PkgName}}: no " + tableName + " provided for insertion" )
3956 }
4057
4158 var err error
@@ -74,20 +91,20 @@ func (o *{{$alias.UpSingular}}) Insert({{if .NoContext}}exec boil.Executor{{else
7491 return err
7592 }
7693 if len (wl) != 0 {
77- cache.query = fmt.Sprintf (" INSERT INTO {{$schemaTable}} ({{.LQ}}%s {{.RQ}}) %% sVALUES (%s )%% s" , strings.Join (wl, " {{.RQ}},{{.LQ}}" ), strmangle.Placeholders (dialect.UseIndexPlaceholders , len (wl), 1, 1))
94+ cache.query = fmt.Sprintf (" INSERT INTO " + tableName + " ({{.LQ}}%s {{.RQ}}) %% sVALUES (%s )%% s" , strings.Join (wl, " {{.RQ}},{{.LQ}}" ), strmangle.Placeholders (dialect.UseIndexPlaceholders , len (wl), 1, 1))
7895 } else {
7996 {{if .Dialect.UseDefaultKeyword -}}
80- cache.query = " INSERT INTO {{$schemaTable}} %s DEFAULT VALUES%s "
97+ cache.query = " INSERT INTO " + tableName + " %s DEFAULT VALUES%s "
8198 {{else -}}
82- cache.query = " INSERT INTO {{$schemaTable}} () VALUES ()%s%s "
99+ cache.query = " INSERT INTO " + tableName + " () VALUES ()%s%s "
83100 {{end -}}
84101 }
85102
86103 var queryOutput, queryReturning string
87104
88105 if len (cache.retMapping ) != 0 {
89106 {{if .Dialect.UseLastInsertID -}}
90- cache.retQuery = fmt.Sprintf (" SELECT {{.LQ}}%s {{.RQ}} FROM {{$schemaTable}} WHERE %s " , strings.Join (returnColumns, " {{.RQ}},{{.LQ}}" ), strmangle.WhereClause (" {{.LQ}}" , " {{.RQ}}" , {{if .Dialect.UseIndexPlaceholders }}1{{else }}0{{end }}, {{$alias .DownSingular }}PrimaryKeyColumns))
107+ cache.retQuery = fmt.Sprintf (" SELECT {{.LQ}}%s {{.RQ}} FROM " + tableName + " WHERE %s " , strings.Join (returnColumns, " {{.RQ}},{{.LQ}}" ), strmangle.WhereClause (" {{.LQ}}" , " {{.RQ}}" , {{if .Dialect.UseIndexPlaceholders }}1{{else }}0{{end }}, {{$alias .DownSingular }}PrimaryKeyColumns))
91108 {{else -}}
92109 {{if .Dialect.UseOutputClause -}}
93110 queryOutput = fmt.Sprintf (" OUTPUT INSERTED.{{.LQ}}%s {{.RQ}} " , strings.Join (returnColumns, " {{.RQ}},INSERTED.{{.LQ}}" ))
@@ -132,7 +149,7 @@ func (o *{{$alias.UpSingular}}) Insert({{if .NoContext}}exec boil.Executor{{else
132149 {{end -}}
133150 {{- end }}
134151 if err != nil {
135- return errors.Wrap (err, " {{.PkgName}}: unable to insert into {{.Table.Name}} " )
152+ return errors.Wrap (err, " {{.PkgName}}: unable to insert into " + tableName )
136153 }
137154
138155 {{if $canLastInsertID -}}
@@ -201,7 +218,7 @@ func (o *{{$alias.UpSingular}}) Insert({{if .NoContext}}exec boil.Executor{{else
201218 }
202219
203220 if err != nil {
204- return errors.Wrap (err, " {{.PkgName}}: unable to insert into {{.Table.Name}} " )
221+ return errors.Wrap (err, " {{.PkgName}}: unable to insert into " + tableName )
205222 }
206223 {{end }}
207224
0 commit comments