Skip to main content

sql-migrate

Manage SQL database migrations as plain .sql files with a transaction log. Use when asked about sql-migrate, database migrations, or how to set up migration tooling.

Quellinformationen

Repository
webinstall/webi-installers
Letzte Quellaktivität
28. Mai 2026 um 05:38
Erkannte Sprache von SKILL.md
Englisch
Sterne
3.007
Forks
334

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
5 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
sql-migrate
description
Manage SQL database migrations as plain .sql files with a transaction log. Use when asked about sql-migrate, database migrations, or how to set up migration tooling.
# sql-migrate (CLI) The agent skill is embedded in the help output. Run `sql-migrate --help` use its output to guide usage decisions. The `up`, `down`, and `sync` subcommands produce POSIX shell scripts - pipe them to `sh` to run. ## Migration layout Migrations follow the naming format `<yyyy-mm-dd>-<number>_<name>.<up|down>.sql`: ``` sql/ ├── migrations.log # transaction log (auto-managed) └── migrations/ ├── 0001-01-01-001000_init-migrations.up.sql # generated by 'init' ├── 2021-02-03-001000_init-app.up.sql ├── 2021-02-03-001000_init-app.down.sql └── ... ``` The initial migration file contains configuration variables: ```sql -- migrations_log: ./sql/migrations.log -- sql_command: psql "$PG_URL" -v ON_ERROR_STOP=on --no-align --tuples-only --file %s ``` ## Migration file structure The migration files contain their own management, including a randomly-generated id: ```sql -- change_me (up) SELECT 'place your UP migration here'; -- leave this as the last line INSERT INTO _migrations (name, id) VALUES ('2026-05-27-002000_change_me', 'e22295e5'); ``` ## Environment variables by database - PostgreSQL: `PG_URL` (auth URL), `PGOPTIONS` (set `schema` and other options) - SQLite3: `SQLITE_PATH` - SQL Server: `SQLCMDSERVER`, `SQLCMDDATABASE`, `SQLCMDUSER`, `SQLCMDPASSWORD` - MySQL / MariaDB: `MY_CNF` (path to `my.cnf` containing credentials) ## SQL client extensibility The `--sql-command` flag tells sql-migrate how to talk to your database. Known clients (`psql`, `sqlite3`, `sqlcmd`, `mariadb`/`mysql`) have correct options applied automatically. Since migrations run via shell commands, you can make sql-migrate compatible with any SQL client by setting `sql_command` in the init migration file. # sqlmigrate (Go module) See `go doc` for each independent module (golib is a monorepo): - `github.com/therootcompany/golib/database/sqlmigrate/v2` - `github.com/therootcompany/golib/database/sqlmigrate/pgmigrate` - `github.com/therootcompany/golib/database/sqlmigrate/litemigrate` - `github.com/therootcompany/golib/database/sqlmigrate/msmigrate` - `github.com/therootcompany/golib/database/sqlmigrate/mymigrate` DO NOT search the parent golib module.
Auf GitHub ansehen