Releases: lukaszbudnik/migrator
v2021.0.0
v2021.0.0 contains the following changes:
- removed v1 API - #145 and #148
- removed deprecated baseDir config property (use baseLocation) - #140
- fixed possible SQL injection when creating new tenant - #133
- enabled GitHub dependabot integration, enabled GitHub actions
- merged 15 dependabot pull requests with go dependencies and docker images updates
See README.md for more information.
v2020.1.3
v2020.1.3 contains the following change:
- a more flexible webhooks support with
webHookTemplate
configuration property which can be used to customise webhook payload
See README.md for information.
v2020.1.2
v2020.1.2 is a maintenance release and contains:
- go module updates
- simplifies testing by providing docker-compose and go subtests to tests all 5 containers every time tests are executed
- [travis] added support for go 1.14 and 1.15 (apart of 1.13)
- [travis] uses docker-compose to start 5 database containers - also fixes #98
- [docs] updated and re-organised documentation
v2020.1.1
v2020.1.1 comes with the following minor changes:
- dropping support for go 1.12 due to Azure SDK compile errors
- migrator timestamp columns now have time zone enabled for PostgreSQL
v2020.1.0
Version numbering change
What would have been v5.0 has become v2020.1.0. This change was made primarily to differentiate API version numbering from migrator versioning. Going forward migrator will use a year as a major version number.
API versions
migrator v2020.1.0 supports the following API versions:
- v1 - REST API
- v2 - GraphQL
New Features
Latest and greatest features are:
- DB versioning - every migrator action creates a new DB version. This feature can be used for troubleshooting and tracing DB modifications in dev environments but is also an ideal tool for auditing and compliance. GraphQL API v2: createVersion and createTenant and API v1: POST migrations and POST tenants create a new DB version. However, DB versions are only accessible in API v2. Meaning you can still use API v1 and migrator will create DB versions for you, but you have to use API v2 to access DB versions information;
- API v2 - GraphQL API - the migrator's API v1 was pretty verbose and was producing sometimes rather big HTTP responses. There were half-measures implemented like response parameter (full - all data, list - list of applied migrations, summary - only summary). With GraphQL you now have a full control over what you want migrator to return. See examples in
data
package and README.md; - API v2 no longer verifies checksums of applied source migrations - the rationale is that once applied source migrations are never re-applied. Further with disabling verification of checksums you can now flatten DB migrations (as a best practice DB migrations/evolutions should be flattened on a regular basis).
v4.2
migrator v4.2 comes with the following new features:
-
source migrations loader implementation for Azure Blob Containers #82
If
baseLocation
matches^https://.*\.blob\.core\.windows\.net/.*
regex, Azure Blob implementation is used. In such case thebaseLocation
property is treated as a container URL:# Azure Blob container URL baseLocation: https://storageaccountname.blob.core.windows.net/mycontainer
-
tutorial added to showing how to deploy migrator to Azure AKS (Azure Kubernetes Service)
-
DEPRECATION
baseDir
is now deprecated in favour ofbaseLocation
. This change was made to better match its purpose now that migrator provides, apart of disk loader, also AWS S3 and Azure Blob loaders. v4.x is fully backward compatible. However migrator will print a WARN message when old config property is used.baseDir
will be removed in v5.0. -
migrator v4.2 switched to go modules for dependency management
v4.1.2
migrator v4.1.2 comes with the following new feature:
- support for
pathPrefix
was added. Path prefix is used by Application Load Balancers/Application Gateways for application HTTP request routing. For example whenpathPrefix
is set to/migrator
then all HTTP requests should be prefixed with that path, for example:/migrator/v1/config
,/migrator/v1/migrations/source
, etc.
v4.1.1
v4.1
migrator v4.1 comes with the following new feature:
-
source migrations loader implementation for AWS S3 #49
If
baseDir
starts withs3://
prefix, AWS S3 implementation is used. In such case thebaseDir
property is
treated as a bucket name.A sample
migrator.yaml
with source migrations located in AWS S3 bucket calledyour-bucket-migrator
looks like this:baseDir: s3://your-bucket-migrator driver: postgres dataSource: user=postgres dbname=migrator_test host=127.0.0.1 port=32774 sslmode=disable connect_timeout=1 singleMigrations: - migrations/ref - migrations/config tenantMigrations: - migrations/tenants
v4.0.1
migrator v4.0.1 comes with the following one small change:
- migrator returns build information together with supported API versions on "GET /"