Documentation
¶
Overview ¶
Package migrations provides database migration functionality using goose.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MigrationRunner ¶
type MigrationRunner struct {
// contains filtered or unexported fields
}
MigrationRunner manages database migrations using goose.
func NewMigrationRunner ¶
func NewMigrationRunner(db *sql.DB, migrationsPath string) *MigrationRunner
NewMigrationRunner creates a new migration runner. db is the database connection, migrationsPath is the directory containing SQL migration files.
func (*MigrationRunner) Down ¶
func (m *MigrationRunner) Down() error
Down rolls back the most recently applied migration. The rollback runs in a transaction.
func (*MigrationRunner) Status ¶
func (m *MigrationRunner) Status() (int64, error)
Status returns the current migration version. Returns 0 if no migrations have been applied.
func (*MigrationRunner) Up ¶
func (m *MigrationRunner) Up() error
Up applies all pending migrations. Each migration runs in a transaction and will be rolled back if it fails. Advisory locking is used to prevent concurrent migrations in distributed systems.
func (*MigrationRunner) Version ¶
func (m *MigrationRunner) Version() (int64, error)
Version is an alias for Status(). Returns the current migration version.