migrate: thin Goose Provider convention with embedded migrations #7
Notifications
Due Date
No due date set.
Blocks
#9 migrate: lifecycle module and CLI commands
corestack/go
Reference: corestack/go#7
Reference in new issue
Block a user
Root-module package
go.auvem.com/corestack/migrate. It sets the house convention for SQL migrations on Goose (github.com/pressly/goose/v3), using its Provider API. Migrations are embedded in the binary so daemons can migrate at startup.Clean-room rewrite. Build from this spec. Don't read or port
go-toolkit/migrate.Requirements
lifecycle. The adapter is a separate issue.*sql.DB, a dialect, and anembed.FSplus a directory.*slog.Logger.goose.Provider, don't wrap it. If the whole package turns out not to justify itself, say so in the PR and propose a documented convention instead.Done when
Upcalls on Postgres applying each migration exactly once.Kickoff prompt