Here are the main things I wanted in a migration tool which I couldn't find anywhere else (at least not all in one tool):
* Ability to create/drop database (super helpful for test environments)
* Read database connection string from an environment variable so I don't need to specify it on the command line or have a separate configuration file.
* Automatically load .env file if it exists.
* Write migrations in pure SQL
* Use dates for migration versions
Goose supports many of these use cases, but specifically it doesn't support create/drop database, requires a separate configuration file, and appears to require hacks if your migration files do not contain only simple SQL statements separated by semicolons (i.e. stored procedures / triggers).
3 comments
[ 4.0 ms ] story [ 24.1 ms ] thread* Ability to create/drop database (super helpful for test environments)
* Read database connection string from an environment variable so I don't need to specify it on the command line or have a separate configuration file.
* Automatically load .env file if it exists.
* Write migrations in pure SQL
* Use dates for migration versions
Goose supports many of these use cases, but specifically it doesn't support create/drop database, requires a separate configuration file, and appears to require hacks if your migration files do not contain only simple SQL statements separated by semicolons (i.e. stored procedures / triggers).