All credits go to @josephbuchma
- Removed all "async" stuff.
- Added type for encapsulating migrations functionality for greater flexibility and performance.
- Changed driver registration and initialization approach, fixed #5
- Removed
Initialize
method from Driver interface - Removed
FlenameExtension
from Driver interface
- Removed
- Added driver.Locker interface, which can be optionally implemented to enable locking during migraitons.
- Implemented for mysql driver
- Migrate now receives context.Context, and therefore can be cancelled.
- Added option to attach pre/post hooks for migrations.
- Added methods for applying / rolling back specific version.
- Add templating support in migration files
- Add an
Execute
command to the driver Interface
- Split drivers in their own repos
- [cassandra] Add disable_init_host_lookup url param (@GeorgeMac / #17)
- [crate] Add Crate database support, based on the Crate sql driver by herenow (@dereulenspiegel / #16)
- [sqlite] Allow multiple statements per migration (dklimkin / #11)
- Make MySQL driver aware of SSL certificates for TLS connection by scanning ENV variables (https://github.com/mattes/migrate/pull/117/files)
- Initial changelog release
- Timestamp migration, instead of increments (mattes/migrate#102)
- Versions will now be tagged
- Added consistency parameter to cassandra connection string (mattes/migrate#114)