Releases: graphile/migrate
v0.3.0 - don't clobber settings
This release will throw if you have incompatible copies of :DATABASE_OWNER
/ :DATABASE_NAME
placeholders, or GM_*
environmental variables set - it no longer simply clobbers them.
v0.2.0 - "before" actions
We already had "after" actions; now we also have "before" actions - thanks @hos!
Improved error messages - thanks @PizzaPartyInc!
Also extended the range of pg
versions supported, fixing Node v14 support.
v0.1.0 - simply "experimental" 😉
- Status changed from "HIGHLY EXPERIMENTAL" to simply "EXPERIMENTAL" 😉
- Add support for "the current migration" to be a directory if desired (@benjie expanding on PR by @lukaspili)
- Add support for naming commits if desired (@benjie expanding on PR by @pixelpax)
- Add ability to run
afterReset
SQL actions as superuser - Add ability to run
graphile-migrate status
without requiring a database connection - Wrap migrations with advisory locks incase two servers attempt to migrate at the same time
- Use a proper CLI parser, so extraneous arguments now throw an error
- Add new commands:
init
to set up a new environmentcompile
to compile an SQL file (filling out placeholders) and output the resultrun
to compile and run an SQL filecompletion
to install CLI autocompletion (untested)
- Expose more configuration options:
migrationsFolder
to choose where migrations goblankMigrationContent
to choose what goes into the current migration when it's created
- Committed migrations are now chmodded to 0440 (world and group read only)
- More consistent header handling (and documentation)
- Documentation
- All commands now self-documenting with
--help
- Committed migration file and other SQL files documented in
FORMATS.md
- Some of the types now have documentation
- Be more consistent (and explain!) about "root" vs "superuser"
- All commands now self-documenting with
- Lots and lots and lots of housekeeping
- Tests
- Module updates (@singingwolfboy)
- Stronger linting
- Broader linting
- Sorted imports
- Stronger types
BREAKING CHANGES
Potential checksum breakage
Content to be checksummed is now normalized by trimming all surrounding
whitespace and then appending a single newline. If your migrations were not
nicely formatted like this then the checksums may have changed which will
give you issues on validation. If you're affected by this please reach out to
me on Discord: http://discord.gg/graphile
"The best time to plant a tree is twenty years ago. The second best time is now."
graphile-migrate --force
-> graphile-migrate --forceActions
I renamed this CLI flag and reserve --force
for future usage.
graphile-migrate reset
-> graphile-migrate reset --erase
The --erase
flag is now required to make it clear you're losing all your data by running that command. Be safe!