31 lines
900 B
Go
31 lines
900 B
Go
package db
|
|
|
|
import (
|
|
"context"
|
|
"gogs.mikescher.com/BlackForestBytes/goext/sq"
|
|
)
|
|
|
|
type DatabaseImpl interface {
|
|
DB() sq.DB
|
|
|
|
Migrate(ctx context.Context) error
|
|
Ping(ctx context.Context) error
|
|
Version(ctx context.Context) (string, string, error)
|
|
BeginTx(ctx context.Context) (sq.Tx, error)
|
|
Stop(ctx context.Context) error
|
|
|
|
ReadSchema(ctx TxContext) (int, error)
|
|
|
|
WriteMetaString(ctx TxContext, key string, value string) error
|
|
WriteMetaInt(ctx TxContext, key string, value int64) error
|
|
WriteMetaReal(ctx TxContext, key string, value float64) error
|
|
WriteMetaBlob(ctx TxContext, key string, value []byte) error
|
|
|
|
ReadMetaString(ctx TxContext, key string) (*string, error)
|
|
ReadMetaInt(ctx TxContext, key string) (*int64, error)
|
|
ReadMetaReal(ctx TxContext, key string) (*float64, error)
|
|
ReadMetaBlob(ctx TxContext, key string) (*[]byte, error)
|
|
|
|
DeleteMeta(ctx TxContext, key string) error
|
|
}
|