database

package
v0.0.28 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Database

type Database struct {
	DB *sql.DB
	// contains filtered or unexported fields
}

Database represents a database connection with migration capabilities

func New

New creates a new database connection

func (*Database) Close

func (d *Database) Close() error

Close closes the database connection

func (*Database) EnsureMigrationCompatibility

func (d *Database) EnsureMigrationCompatibility() error

EnsureMigrationCompatibility ensures the database is compatible with migrations

func (*Database) GetMigrationRunner

func (d *Database) GetMigrationRunner() *MigrationRunner

GetMigrationRunner returns a new migration runner for this database

type MigrationRunner

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

MigrationRunner handles database migrations using goose

func NewMigrationRunner

func NewMigrationRunner(db *sql.DB) *MigrationRunner

NewMigrationRunner creates a new migration runner

func (*MigrationRunner) EnsureMigrationCompatibility

func (mr *MigrationRunner) EnsureMigrationCompatibility() error

EnsureMigrationCompatibility checks for legacy database and recreates if needed

func (*MigrationRunner) GetStatus

func (mr *MigrationRunner) GetStatus() (*MigrationStatus, error)

GetStatus returns the current migration status

func (*MigrationRunner) IsLegacyDatabase

func (mr *MigrationRunner) IsLegacyDatabase() (bool, error)

IsLegacyDatabase checks if the database exists but doesn't have goose migrations table

func (*MigrationRunner) MigrateDown

func (mr *MigrationRunner) MigrateDown() error

MigrateDown rolls back the last migration

func (*MigrationRunner) MigrateTo

func (mr *MigrationRunner) MigrateTo(version int64) error

MigrateTo migrates to a specific version

func (*MigrationRunner) MigrateUp

func (mr *MigrationRunner) MigrateUp() error

MigrateUp runs all pending migrations

func (*MigrationRunner) RecreateDatabase

func (mr *MigrationRunner) RecreateDatabase() error

RecreateDatabase drops all existing tables and recreates them using goose migrations

func (*MigrationRunner) Reset

func (mr *MigrationRunner) Reset() error

Reset drops all tables and re-runs all migrations

func (*MigrationRunner) SetupGoose

func (mr *MigrationRunner) SetupGoose() error

SetupGoose initializes goose with embedded migrations

type MigrationStatus

type MigrationStatus struct {
	CurrentVersion int64 `json:"currentVersion"`
}

MigrationStatus represents the current migration state using goose

Jump to

Keyboard shortcuts

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