2016-06-20 07:22:50 +02:00
{ { - $tableNameSingular : = . Table . Name | singular | titleCase - } }
{ { - $varNameSingular : = . Table . Name | singular | camelCase - } }
2016-09-12 07:30:25 +02:00
{ { - $schemaTable : = . Table . Name | . SchemaTable - } }
2016-08-09 12:19:42 +02:00
// DeleteP deletes a single { { $tableNameSingular } } record with an executor.
// DeleteP will match against the primary key column to find the record to delete.
// Panics on error.
func (o * { { $tableNameSingular } } ) DeleteP(exec boil.Executor) {
2016-09-14 10:08:30 +02:00
if err := o.Delete(exec); err != nil {
panic(boil.WrapErr(err))
}
2016-08-09 12:19:42 +02:00
}
2016-08-01 07:10:10 +02:00
// DeleteG deletes a single { { $tableNameSingular } } record.
// DeleteG will match against the primary key column to find the record to delete.
func (o * { { $tableNameSingular } } ) DeleteG() error {
2016-09-14 10:08:30 +02:00
if o == nil {
return errors.New(" { { . PkgName } } : no { { $tableNameSingular } } provided for deletion")
}
2016-04-26 11:27:00 +02:00
2016-09-14 10:08:30 +02:00
return o.Delete(boil.GetDB())
2016-04-19 04:02:32 +02:00
}
2016-08-01 07:10:10 +02:00
// DeleteGP deletes a single { { $tableNameSingular } } record.
// DeleteGP will match against the primary key column to find the record to delete.
2016-07-16 13:22:57 +02:00
// Panics on error.
2016-08-01 07:10:10 +02:00
func (o * { { $tableNameSingular } } ) DeleteGP() {
2016-09-14 10:08:30 +02:00
if err := o.DeleteG(); err != nil {
panic(boil.WrapErr(err))
}
2016-07-16 13:22:57 +02:00
}
2016-08-01 07:10:10 +02:00
// Delete deletes a single { { $tableNameSingular } } record with an executor.
// Delete will match against the primary key column to find the record to delete.
func (o * { { $tableNameSingular } } ) Delete(exec boil.Executor) error {
2016-09-14 10:08:30 +02:00
if o == nil {
return errors.New(" { { . PkgName } } : no { { $tableNameSingular } } provided for delete")
}
2016-04-26 11:27:00 +02:00
2016-09-14 10:08:30 +02:00
{ { if not . NoHooks - } }
if err := o.doBeforeDeleteHooks(exec); err != nil {
return err
}
{ { - end } }
2016-08-28 14:16:08 +02:00
2016-09-16 08:44:44 +02:00
args := queries.ValuesFromMapping(reflect.Indirect(reflect.ValueOf(o)), { { $varNameSingular } } PrimaryKeyMapping)
2016-09-14 10:08:30 +02:00
sql := "DELETE FROM { { $schemaTable } } WHERE { { if . Dialect . IndexPlaceholders } } { { whereClause . LQ . RQ 1 . Table . PKey . Columns } } { { else } } { { whereClause . LQ . RQ 0 . Table . PKey . Columns } } { { end } } "
2016-04-19 04:02:32 +02:00
2016-09-14 10:08:30 +02:00
if boil.DebugMode {
fmt.Fprintln(boil.DebugWriter, sql)
fmt.Fprintln(boil.DebugWriter, args...)
}
2016-04-19 04:02:32 +02:00
2016-09-14 10:08:30 +02:00
_, err := exec.Exec(sql, args...)
if err != nil {
return errors.Wrap(err, " { { . PkgName } } : unable to delete from { { . Table . Name } } ")
}
2016-02-23 13:51:49 +01:00
2016-09-14 10:08:30 +02:00
{ { if not . NoHooks - } }
if err := o.doAfterDeleteHooks(exec); err != nil {
return err
}
{ { - end } }
2016-08-28 14:16:08 +02:00
2016-09-14 10:08:30 +02:00
return nil
2016-02-23 13:51:49 +01:00
}
2016-03-18 16:27:55 +01:00
2016-08-09 12:19:42 +02:00
// DeleteAllP deletes all rows, and panics on error.
func (q { { $varNameSingular } } Query) DeleteAllP() {
2016-09-14 10:08:30 +02:00
if err := q.DeleteAll(); err != nil {
panic(boil.WrapErr(err))
}
2016-07-16 13:22:57 +02:00
}
2016-08-09 12:19:42 +02:00
// DeleteAll deletes all matching rows.
func (q { { $varNameSingular } } Query) DeleteAll() error {
2016-09-14 10:08:30 +02:00
if q.Query == nil {
return errors.New(" { { . PkgName } } : no { { $varNameSingular } } Query provided for delete all")
}
2016-04-23 13:54:24 +02:00
2016-09-15 05:59:55 +02:00
queries.SetDelete(q.Query)
2016-04-26 11:27:00 +02:00
2016-09-14 18:14:30 +02:00
_, err := q.Query.Exec()
2016-09-14 10:08:30 +02:00
if err != nil {
return errors.Wrap(err, " { { . PkgName } } : unable to delete all from { { . Table . Name } } ")
}
2016-04-23 13:54:24 +02:00
2016-09-14 10:08:30 +02:00
return nil
2016-04-23 13:54:24 +02:00
}
2016-09-15 06:20:35 +02:00
// DeleteAllGP deletes all rows in the slice, and panics on error.
2016-08-01 07:10:10 +02:00
func (o { { $tableNameSingular } } Slice) DeleteAllGP() {
2016-09-14 10:08:30 +02:00
if err := o.DeleteAllG(); err != nil {
panic(boil.WrapErr(err))
}
2016-04-23 13:54:24 +02:00
}
2016-08-01 07:10:10 +02:00
// DeleteAllG deletes all rows in the slice.
func (o { { $tableNameSingular } } Slice) DeleteAllG() error {
2016-09-14 10:08:30 +02:00
if o == nil {
return errors.New(" { { . PkgName } } : no { { $tableNameSingular } } slice provided for delete all")
}
return o.DeleteAll(boil.GetDB())
2016-07-16 13:22:57 +02:00
}
2016-08-09 12:19:42 +02:00
// DeleteAllP deletes all rows in the slice, using an executor, and panics on error.
func (o { { $tableNameSingular } } Slice) DeleteAllP(exec boil.Executor) {
2016-09-14 10:08:30 +02:00
if err := o.DeleteAll(exec); err != nil {
panic(boil.WrapErr(err))
}
2016-08-09 12:19:42 +02:00
}
// DeleteAll deletes all rows in the slice, using an executor.
2016-08-01 07:10:10 +02:00
func (o { { $tableNameSingular } } Slice) DeleteAll(exec boil.Executor) error {
2016-09-14 10:08:30 +02:00
if o == nil {
return errors.New(" { { . PkgName } } : no { { $tableNameSingular } } slice provided for delete all")
}
if len(o) == 0 {
return nil
}
{ { if not . NoHooks - } }
if len( { { $varNameSingular } } BeforeDeleteHooks) != 0 {
for _, obj := range o {
if err := obj.doBeforeDeleteHooks(exec); err != nil {
return err
}
}
}
{ { - end } }
2016-09-16 08:44:44 +02:00
var args []interface { }
for _, obj := range o {
pkeyArgs := queries.ValuesFromMapping(reflect.Indirect(reflect.ValueOf(obj)), { { $varNameSingular } } PrimaryKeyMapping)
args = append(args, pkeyArgs...)
}
2016-09-14 10:08:30 +02:00
sql := fmt.Sprintf(
"DELETE FROM { { $schemaTable } } WHERE (%s) IN (%s)",
strings.Join(strmangle.IdentQuoteSlice(dialect.LQ, dialect.RQ, { { $varNameSingular } } PrimaryKeyColumns), ","),
strmangle.Placeholders(dialect.IndexPlaceholders, len(o) * len( { { $varNameSingular } } PrimaryKeyColumns), 1, len( { { $varNameSingular } } PrimaryKeyColumns)),
)
if boil.DebugMode {
fmt.Fprintln(boil.DebugWriter, sql)
fmt.Fprintln(boil.DebugWriter, args)
}
_, err := exec.Exec(sql, args...)
if err != nil {
return errors.Wrap(err, " { { . PkgName } } : unable to delete all from { { $varNameSingular } } slice")
}
{ { if not . NoHooks - } }
if len( { { $varNameSingular } } AfterDeleteHooks) != 0 {
for _, obj := range o {
if err := obj.doAfterDeleteHooks(exec); err != nil {
return err
}
}
}
{ { - end } }
return nil
2016-03-18 16:27:55 +01:00
}