Documentation
¶
Overview ¶
Package migrate provides database migration utilities for containerized databases.
Index ¶
- func CreateMigration(dir, name string) (string, error)
- func Force(ctx context.Context, db *sql.DB, version string, opts ...Option) error
- func Rollback(ctx context.Context, db *sql.DB, dir string, steps int, opts ...Option) error
- func Run(ctx context.Context, db *sql.DB, dir string, opts ...Option) error
- type Config
- type Direction
- type Migration
- type Option
- type Status
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateMigration ¶
CreateMigration creates a new migration file pair (up and down).
func Force ¶
Force sets the migration version without running migrations. Useful for initial schema setup.
Types ¶
type Config ¶
type Config struct {
// TableName is the migration table name (default: "schema_migrations")
TableName string
// Timeout for each migration step
Timeout time.Duration
}
Config holds migration configuration.
type Migration ¶
Migration represents a single migration file.
func ReadDirectionalMigrations ¶
ReadDirectionalMigrations reads only up or down migrations from a directory.
func ReadMigrations ¶
ReadMigrations reads migration files from a directory. Expects files named: {version}_{name}.up.sql or {version}_{name}.down.sql Only .up.sql files are included by default (use ReadDirectionalMigrations for both).
type Option ¶
type Option func(*Config)
Option applies configuration to Config.
func WithTableName ¶
WithTableName sets the migration table name.
func WithTimeout ¶
WithTimeout sets the timeout for each migration step.