database

package
v0.2.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 3, 2026 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunMigrations added in v0.2.4

func RunMigrations(ctx context.Context, db model.DB, migrations []Migration) error

RunMigrations runs the given migrations on the database.

Types

type Engine

type Engine struct {
	// contains filtered or unexported fields
}

func New

func New(databaseURI string) (*Engine, error)

type EngineWithMigrations added in v0.2.4

type EngineWithMigrations struct {
	// contains filtered or unexported fields
}

EngineWithMigrations extends Engine with migration support

func NewWithMigrations added in v0.2.4

func NewWithMigrations(readURI, writeURI string) (*EngineWithMigrations, error)

NewWithMigrations creates a new Engine with read/write separation and migration support

func (*EngineWithMigrations) Close added in v0.2.4

func (e *EngineWithMigrations) Close() error

Close closes all database connections

func (*EngineWithMigrations) GetDatabaseSchemaVersion added in v0.2.4

func (e *EngineWithMigrations) GetDatabaseSchemaVersion(ctx context.Context) (string, error)

GetDatabaseSchemaVersion returns the current database schema version

func (*EngineWithMigrations) ReaderDB added in v0.2.4

func (e *EngineWithMigrations) ReaderDB() *sql.DB

ReaderDB returns the read database connection

func (*EngineWithMigrations) SetDatabaseSchemaVersion added in v0.2.4

func (e *EngineWithMigrations) SetDatabaseSchemaVersion(ctx context.Context, version string) error

SetDatabaseSchemaVersion sets the database schema version

func (*EngineWithMigrations) WriterDB added in v0.2.4

func (e *EngineWithMigrations) WriterDB() *sql.DB

WriterDB returns the write database connection

type Migration added in v0.2.4

type Migration struct {
	FromVersion   Version
	ToVersion     Version
	MigrationFunc func(db *sql.DB) error
}

Migration represents a database schema migration

func NewFileMigration added in v0.2.4

func NewFileMigration(fromVersion, toVersion, filename string, migrationFiles embed.FS) (Migration, error)

NewFileMigration creates a new migration from an embedded file system.

func NewFuncMigration added in v0.2.4

func NewFuncMigration(fromVersion, toVersion string, migrationFunc func(db *sql.DB) error) (Migration, error)

NewFuncMigration creates a new migration from a function.

type Version added in v0.2.4

type Version = semver.Version

Version is a type alias for semver.Version for convenience

func ParseVersion added in v0.2.4

func ParseVersion(v string) (Version, error)

ParseVersion parses a version string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL