AJ ONeal a86d901d64
feat(database/sqlmigrate): add migration library with multi-backend support
Extract a database-agnostic migration interface (Migrator) with Collect,
Up, Down, and GetStatus orchestration. Each backend is its own Go module
to avoid dependency bloat:

- sqlmigrate: core interface, types, sentinel errors, file collection
- pgmigrate: PostgreSQL via pgx/v5
- mymigrate: MySQL/MariaDB via go-sql-driver/mysql
- litemigrate: SQLite via database/sql (caller imports driver)
- msmigrate: SQL Server via go-mssqldb
- shmigrate: shell script generation (file-path commands, not heredocs)

Integrates shmigrate into the existing cmd/sql-migrate CLI, replacing
its bespoke up/down/status logic with sqlmigrate orchestration.
2026-04-06 00:40:11 -06:00

20 lines
572 B
Modula-2

module github.com/therootcompany/golib/database/sqlmigrate/msmigrate
go 1.26.1
require (
github.com/microsoft/go-mssqldb v1.9.8
github.com/therootcompany/golib/database/sqlmigrate v0.0.0
)
require (
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect
github.com/golang-sql/sqlexp v0.1.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/shopspring/decimal v1.4.0 // indirect
golang.org/x/crypto v0.48.0 // indirect
golang.org/x/text v0.34.0 // indirect
)
replace github.com/therootcompany/golib/database/sqlmigrate => ../