Documentation
¶
Index ¶
- type Database
- type MigrationRunner
- func (mr *MigrationRunner) EnsureMigrationCompatibility() error
- func (mr *MigrationRunner) GetStatus() (*MigrationStatus, error)
- func (mr *MigrationRunner) IsLegacyDatabase() (bool, error)
- func (mr *MigrationRunner) MigrateDown() error
- func (mr *MigrationRunner) MigrateTo(version int64) error
- func (mr *MigrationRunner) MigrateUp() error
- func (mr *MigrationRunner) RecreateDatabase() error
- func (mr *MigrationRunner) Reset() error
- func (mr *MigrationRunner) SetupGoose() error
- type MigrationStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Database ¶
Database represents a database connection with migration capabilities
func (*Database) EnsureMigrationCompatibility ¶
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