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 }