initial commit
This commit is contained in:
147
generated/models/bocchi.xo.go
Normal file
147
generated/models/bocchi.xo.go
Normal file
@@ -0,0 +1,147 @@
|
||||
// Package models contains generated code for schema 'bocchi.sqlite3'.
|
||||
package models
|
||||
|
||||
// Code generated by xo. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
)
|
||||
|
||||
// Bocchi represents a row from 'bocchi'.
|
||||
type Bocchi struct {
|
||||
ID sql.NullString `json:"id"` // id
|
||||
Name sql.NullString `json:"name"` // name
|
||||
Performances sql.NullInt64 `json:"performances"` // performances
|
||||
// xo fields
|
||||
_exists, _deleted bool
|
||||
}
|
||||
|
||||
// Exists returns true when the [Bocchi] exists in the database.
|
||||
func (b *Bocchi) Exists() bool {
|
||||
return b._exists
|
||||
}
|
||||
|
||||
// Deleted returns true when the [Bocchi] has been marked for deletion
|
||||
// from the database.
|
||||
func (b *Bocchi) Deleted() bool {
|
||||
return b._deleted
|
||||
}
|
||||
|
||||
// Insert inserts the [Bocchi] to the database.
|
||||
func (b *Bocchi) Insert(ctx context.Context, db DB) error {
|
||||
switch {
|
||||
case b._exists: // already exists
|
||||
return logerror(&ErrInsertFailed{ErrAlreadyExists})
|
||||
case b._deleted: // deleted
|
||||
return logerror(&ErrInsertFailed{ErrMarkedForDeletion})
|
||||
}
|
||||
// insert (manual)
|
||||
const sqlstr = `INSERT INTO bocchi (` +
|
||||
`id, name, performances` +
|
||||
`) VALUES (` +
|
||||
`$1, $2, $3` +
|
||||
`)`
|
||||
// run
|
||||
logf(sqlstr, b.ID, b.Name, b.Performances)
|
||||
if _, err := db.ExecContext(ctx, sqlstr, b.ID, b.Name, b.Performances); err != nil {
|
||||
return logerror(err)
|
||||
}
|
||||
// set exists
|
||||
b._exists = true
|
||||
return nil
|
||||
}
|
||||
|
||||
// Update updates a [Bocchi] in the database.
|
||||
func (b *Bocchi) Update(ctx context.Context, db DB) error {
|
||||
switch {
|
||||
case !b._exists: // doesn't exist
|
||||
return logerror(&ErrUpdateFailed{ErrDoesNotExist})
|
||||
case b._deleted: // deleted
|
||||
return logerror(&ErrUpdateFailed{ErrMarkedForDeletion})
|
||||
}
|
||||
// update with primary key
|
||||
const sqlstr = `UPDATE bocchi SET ` +
|
||||
`name = $1, performances = $2 ` +
|
||||
`WHERE id = $3`
|
||||
// run
|
||||
logf(sqlstr, b.Name, b.Performances, b.ID)
|
||||
if _, err := db.ExecContext(ctx, sqlstr, b.Name, b.Performances, b.ID); err != nil {
|
||||
return logerror(err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Save saves the [Bocchi] to the database.
|
||||
func (b *Bocchi) Save(ctx context.Context, db DB) error {
|
||||
if b.Exists() {
|
||||
return b.Update(ctx, db)
|
||||
}
|
||||
return b.Insert(ctx, db)
|
||||
}
|
||||
|
||||
// Upsert performs an upsert for [Bocchi].
|
||||
func (b *Bocchi) Upsert(ctx context.Context, db DB) error {
|
||||
switch {
|
||||
case b._deleted: // deleted
|
||||
return logerror(&ErrUpsertFailed{ErrMarkedForDeletion})
|
||||
}
|
||||
// upsert
|
||||
const sqlstr = `INSERT INTO bocchi (` +
|
||||
`id, name, performances` +
|
||||
`) VALUES (` +
|
||||
`$1, $2, $3` +
|
||||
`)` +
|
||||
` ON CONFLICT (id) DO ` +
|
||||
`UPDATE SET ` +
|
||||
`name = EXCLUDED.name, performances = EXCLUDED.performances `
|
||||
// run
|
||||
logf(sqlstr, b.ID, b.Name, b.Performances)
|
||||
if _, err := db.ExecContext(ctx, sqlstr, b.ID, b.Name, b.Performances); err != nil {
|
||||
return logerror(err)
|
||||
}
|
||||
// set exists
|
||||
b._exists = true
|
||||
return nil
|
||||
}
|
||||
|
||||
// Delete deletes the [Bocchi] from the database.
|
||||
func (b *Bocchi) Delete(ctx context.Context, db DB) error {
|
||||
switch {
|
||||
case !b._exists: // doesn't exist
|
||||
return nil
|
||||
case b._deleted: // deleted
|
||||
return nil
|
||||
}
|
||||
// delete with single primary key
|
||||
const sqlstr = `DELETE FROM bocchi ` +
|
||||
`WHERE id = $1`
|
||||
// run
|
||||
logf(sqlstr, b.ID)
|
||||
if _, err := db.ExecContext(ctx, sqlstr, b.ID); err != nil {
|
||||
return logerror(err)
|
||||
}
|
||||
// set deleted
|
||||
b._deleted = true
|
||||
return nil
|
||||
}
|
||||
|
||||
// BocchiByID retrieves a row from 'bocchi' as a [Bocchi].
|
||||
//
|
||||
// Generated from index 'sqlite_autoindex_bocchi_1'.
|
||||
func BocchiByID(ctx context.Context, db DB, id sql.NullString) (*Bocchi, error) {
|
||||
// query
|
||||
const sqlstr = `SELECT ` +
|
||||
`id, name, performances ` +
|
||||
`FROM bocchi ` +
|
||||
`WHERE id = $1`
|
||||
// run
|
||||
logf(sqlstr, id)
|
||||
b := Bocchi{
|
||||
_exists: true,
|
||||
}
|
||||
if err := db.QueryRowContext(ctx, sqlstr, id).Scan(&b.ID, &b.Name, &b.Performances); err != nil {
|
||||
return nil, logerror(err)
|
||||
}
|
||||
return &b, nil
|
||||
}
|
Reference in New Issue
Block a user