Migrate Versions Save

Database migrations. CLI and Golang library.

v4.17.1

1 week ago

Changelog

  • 4bc6777 Add dktesting.Cleanup() method
  • bead4a9 Added documentation and test for lock strategy
  • 129922a Added support for pgx locking table
  • a860f0c Bump github.com/dvsekhvalnov/jose2go from 1.5.0 to 1.6.0
  • d1df97b Bump github.com/jackc/pgx/v4 from 4.18.1 to 4.18.2
  • a78d1ab Bump github.com/jackc/pgx/v5 from 5.3.1 to 5.5.4
  • 2e0872f Bump google.golang.org/protobuf from 1.31.0 to 1.33.0
  • 1b707a7 Cleanup cassandra images after tests run
  • 49cac86 Cleanup mongodb images after tests run
  • 2884a8e Cleanup postgres images after tests run
  • b1d02e2 Cleanup sqlserver images after tests run
  • 06614d9 Cleanup yugabytedb images after tests run
  • e913336 Drop support for Go 1.20 and add support for Go 1.22
  • f4950c1 Fallback to dktest.DefaultCleanupTimeout if the dktest.Options doesn't have one specified
  • 5aa4670 Fix GoReleaser deprecations
  • d63a5c2 Only test against YugabyteDB LTS releases
  • 091ad5d Quote locktable from config in queries
  • 1a002d0 Set golangci-lint to 1.54.2 (latest is broken) (#1046)
  • f100226 Update dktest from v0.4.0 to v0.4.1 to fix docker vulnerability
  • ff8a961 Update yugabyte test images
  • 0350a00 [sqlserver] Always access version table with explicit schema
  • 8147693 [sqlserver] Ensure version table in provided schema
  • 7f85f9c chore: fix some typos
  • 9d70a39 chore: fix some typos in comments
  • 94b8fa5 rqlite is spelled with all lowercase

v4.17.0

4 months ago

Changelog

  • cf03803 Add rqlite 8.0.0 to tested database versions
  • 12968a7 Add syntax highlighting to Postgres example
  • 50112e7 Add to clickhouse README.md database creation
  • 5ded96d Bump golang.org/x/crypto from 0.14.0 to 0.17.0
  • c3ebd52 Bump google.golang.org/grpc from 1.55.0 to 1.56.3
  • 5026488 Clean up require directive grouping
  • 3b02b18 Correct a spelling mistake
  • cd17c5a Drop support for Go 1.19 and add support for Go 1.21
  • 839421e Leverage quoteIdentifier from pgx
  • bad30b5 Mention migradaptor
  • fb22436 Merge remote-tracking branch 'origin/master' into upgrade-spanner
  • bfedabb Merge remote-tracking branch 'upstream/master'
  • 92dec35 Move supported go version to standard place
  • 4078ef8 New release prep
  • 9fe7383 Quote in drop as well
  • 691f687 Reformat ScyllaDB/Cassandra docs
  • 90a3ac4 Remove cluster adaptation for tables to pass tests
  • 64755d0 Update README.md
  • f2c4b52 Update aws-sdk-go from v1.44.301 to v1.49.6
  • 876a13d Update aws-sdk-go to adress vulerabilitiy
  • b567287 Update from alpine 3.18 to 3.19
  • f2e0b33 Update lib/pq to fix cert permissions issues
  • 208ac53 Update spanner to fix security issue See also: https://github.com/golang-migrate/migrate/pull/952
  • 72957b6 Updated version of spanner to support sequences and generate uuid
  • 7d03609 add 8.11 and 8.12 versions and remove debug logging
  • 7a72550 add tests for scylladb. add scylladb to docs
  • 90273fe clickhouse: Quote db name in ensureVersionTable
  • 5163ac7 feature: add rqlite support
  • ee8a8e5 fix: typo
  • f8afa5a small changes to retry failed by timeout CI
  • 669437c update rqlite 8 container version to 8.0.6

v4.16.2

10 months ago

Changelog

  • 383386b Bump github.com/snowflakedb/gosnowflake from 1.6.3 to 1.6.19
  • 315a205 Update Dockerfiles

v4.16.1

10 months ago

Changelog

  • d72e5c6 Fix typo
  • 23d8d33 Support .deb packages for Ubuntu Jammy Jellyfish and Debian bookworm
  • 0b3b628 Use pgx5 connection string in README

v4.16.0

11 months ago

Changelog

  • b94ed1a Add driver for pgx v5 (#848)
  • 30411f4 Add support for Go 1.19 and drop support for Go 1.17
  • eb59b75 Bump github.com/aws/aws-sdk-go from 1.17.7 to 1.33.0
  • 88d30a4 Bump github.com/aws/aws-sdk-go from 1.33.0 to 1.34.0
  • fd42ff1 Bump golang.org/x/net from 0.1.0 to 0.7.0
  • 3843f92 Correct interface name in comments.
  • a2cd403 Create SECURITY.md
  • ea8bebc Downgrade docker
  • e497646 Drop support for Go 1.18 and add support for Go 1.20
  • 5ff4dc8 Fix CockroachDB tutorial's link being relative to 'GETTING_STARTED.md' (#819)
  • e5d8970 Fix GH workflow badge in README
  • c47c8cc Fix broken tags link
  • ca03021 Fix placeholder in download URL
  • c62dbba Opt-in to goreleaser's new property https://goreleaser.com/deprecations/#archivesrlcp
  • 856f9c4 Patch CVEs
  • 885d03c Replace deprecated ioutil pkg with os & io
  • c367ed2 Resolve Docker CVEs (#815)
  • 405ef9d Run gofmt -s on the files that are failing the lint job upstream
  • 162fc2b Sqlite update (#785)
  • b5e3e92 Support Go 1.18 and drop support for Go 1.16
  • 0d585e2 Switch to microsoft go-mssqldb (#758)
  • 8c64ac7 The example Clickhouse DSN incorrectly described how to set the username and password.
  • 03e74b9 Update SECURITY.md
  • 075d6e8 Update dktest from v0.3.10 to v0.3.11 to fix upstream security issues
  • 723c60f Update dktest from v0.3.11 to v0.3.13
  • f87b567 Update dktest from v0.3.13 to v0.3.14
  • 5be1166 Update dktest from v0.3.14 to v0.3.15 for upstream security fixes
  • 1020682 Update dktest from v0.3.15 to v0.3.16 for upstream security fixes
  • 2111d2f Update go-sqlite3 for security fix https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMMATTNGOSQLITE3-3121037
  • 2c61c69 Update mongodb driver for security fix Mongodb driver v1.7.5 no longer depends on packr https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMGOBUFFALOPACKRV2-1920670 https://github.com/mongodb/mongo-go-driver/pull/815
  • 8d96f81 Update mssql to fix 386 and arm7 builds
  • 8324b45 Update pgx deps
  • dc26c41 Update security policy
  • 79c741f Upgrading Spanner version
  • acc11ed Use t.Skipf() per golangci-lint (gosimple)
  • 58eb755 Use v4 for Go Report Card
  • 0d539f4 build: update go directive in go.mod to 1.17
  • 30deade bump ci version & go1.19 fmt ./...
  • b2be9e7 bump version for sqlite3 lib to 1.14.14
  • b74509a docs(yugabyte): update readme (add retry options)
  • 76d0305 feat(yugabytedb): configure retries
  • bcd0d88 feat: add yugabyte support
  • b63a0d4 fix issue of downloading and using github sourced migration files of … (#900)
  • 185a4de fix spanner parsing issue
  • 31791ad fix(spanner): update spanner module to fix parsing issue (#843)
  • e7e7077 fix(yugabyte): panic on err retry check
  • 41f3495 fix: Conform to go test naming convention
  • ddaf669 fix: postgresql search_path can be empty (#696)
  • 4831e0e go-genproto to google-cloud-go message type migration
  • 89836f4 jq must be invoked with -r option
  • 3bba76f modify: Add statement timeout query parmeter for MySQL (#778)
  • 9a407b6 style(yugabyte): rename retry options
  • 5582a20 style(yugabyte): simplify error conditions
  • bf926fa style: fix lint errors

v4.15.2

2 years ago

Changes

Documentation

  • 06c25a2 Add pkger to README (by @glacials )
  • ed8a8b0 Include iofs in migration sources (by @bndw )
  • b69b032 clarify the package name (#660) (by @khash )
  • bfd0502 Set syntax highlighting for pkger example (by @glacials )
  • 81cbc9c fix: incorrect clickhouse dns example (by @xkisu )

Database Drivers

  • f621644 Add WithConnection to Postgres similar to MySQL. (by @AndreasKl )
  • 6e499cb Expose configuring cassandra connect timeout through query string (by @taywrobel )
  • 4ba6957 Resolves #647 - Fixes typos in Mongo advisory locking parameters (#648) (by @SJrX )
  • 9d3babd Run SQL server tests on Azure SQL Edge (by @jfhbrook-at-work )
  • 5798784 Update Spanner to 1.27 (by @mccalltd )
  • 020eda4 Upgrade cloud.google.com/go/spanner to 1.28.0, which adds JSON_VALUE support (by @kylechadha )
  • 9f5ed82 Use DELETE FROM instead of TRUNCATE for MySQL (#656) (by @martinarrieta and @antigremlin )
  • 608e4f6 Use the recommended v4 in mysql README (by @mgenware )
  • a46677e bump go-sqlite3 to v1.14.10 (by @pankona )

Migration Sources

  • a2b0bda change github auth to use oauth token instead of basic. (by @Greyeye )

Builds

  • 5aa1a03 Bump version of autorest/adal (by @jcmuller )
  • 169d0fc Include 2 letter query param key in unit test (by @suzaku )
  • 331a15d Update dktest from v0.3.9 to v0.3.10 to fix upstream security issues (by @dhui )
  • c277388 Update dktest to v0.3.9 for upstream security vulnerability fixes (by @dhui )
  • cf68462 Run gofmt on internal build dir (by @dhui )
  • fc7f720 refactor: use sort.Slice (by @suzaku )
  • 918e13a Upgrade containerd and image-spec for the vulnerabilities (#662) (by @mopp )
  • 4f82413 len(k) is guaranteed to be greater than 1 in this case (by @suzaku )

Thank you for your hard work and all your contributions!

v4.15.1

2 years ago

Changes

Database Drivers

  • Update gosnowflake from v1.4.3 to v1.6.3 to fix security warnings (#632 & #637). Thanks @nicholas-mainardi and @obitech for reporting the issue!
  • Add unofficial support for AWS Keyspaces to the Cassandra DB driver by DELETEing the schema version table instead of using TRUNCATE thanks to @florentsolt and @Baumanar (#634)

Docker Image

Builds

  • Update dktest to v0.3.7 to fix security warnings (#632). Thanks @nicholas-mainardi for reporting the issue!

v4.15.0

2 years ago

Breaking Changes

  • In the Docker image, the location of the migrate binary changed from /usr/local/bin/migrate to /usr/bin/migrate
  • When updating to this version of migrate with postgres, you need to ensure that no migrations are currently running and no old versions of migrate will run at the same time as new versions. The inputs for generating the advisory lock changed so this version will lock with a different key than previous versions.

Changes

Builds

  • Use GoReleaser and GitHub Actions (#604) by @johejo and @Fontinalis
  • Fix test on windows (#482) by @johejo
  • Upgrade dktest from v0.3.3 to v.0.3.4 by @dhui
  • Support Go 1.16 and drop support for Go 1.15 by @dhui
  • Update docker builds to use Go 1.16 and Alpine Linux 3.13 (#560) by @dhui
  • ci: migrate from CircleCI to GitHub Actions (#605) by @Juneezee
  • Drop support for Go 1.15 by @dhui

Source Drivers

  • GitLab
    • Fix issue when gitlab return only first 20 migrations (#497) by @mef13
  • GitHub
    • Add default GitHub API client (#501) by @ganboonhong
    • Update go-github from v17 to v35 by @dhui
  • iofs
    • Fix iofs tests (#560) by @dhui
    • Cleanup go 1.15 and 1.16 version specific files by @Fontinalis

Database Drivers

  • used uber atomic bool instead standard in lock/unlock db (#580) by @prinkov
  • sqlite3
    • Fix error when path to database contains whitespace (#500) by @ganboonhong
    • Add support for modernc.org/sqlite (#555) by @gammazero
    • Bump sqlite past memory corruption bug (#558) by @zikaeroh
  • postgres & pgx
    • Support multi-statement execution for PostgreSQL (#495) by @AnatolyRugalev
    • Add pgx driver package (#517) by @dzbee
    • Add a check to determine if table already exists to elide CREATE query (#526) by @testtest959
    • Add x-migrations-table-quoted url query option (#95) (#533) by @stephane-klein
    • Fix SchemaName parameter is ignored (#547) by @stephane-klein
  • clubhouse
    • Upgrade clickhouse driver lib (#529) by @linux019
    • added tests for clickhouse database (#532) by @prinkov
    • make table engine for schema versions table configurable (#551) by @brunotm
    • Adding support for clickhouse cluster (#568) by @preved911
    • honor DefaultMigrationsTableEngine when created WithInstance() (#617) by @kaworu
  • spanner
    • fix (spanner): upgrade spanner client to v1.18.0 to support NUMERIC types (#565) by @kylechadha
    • Update Google Spanner dependency (#608) by @alethenorio
      • support for ROW DELETION POLICY, ALTER DATABASE and parsing keywords and functions in case insensitive
  • snowflake
    • Update snowflake DB driver to update to non-vulnarable jwt downstream package (#569) by @dhui
  • mssql
    • Add msi auth support (#591) by @samfoxcode
    • Added a method to create a mysql database from a connection object (#583) by @Seb-C
  • cockroachdb
    • use github.com/cockroachdb/cockroach-go/v2/crdb (for better go module support) (#595) by @DGollings
  • mongodb
    • Update MongoDB db driver to fix security issue by @dhui

CLI

  • Allow the abillity to pass timezone when generating migration files (#509) by @nronas
  • fix: move -all flag usage from drop to down (#522) by @Juneezee

Docs

  • Point docs link to v4 (#524) by @jeffwidman
  • Update sqlite and sqlite3 docs with comparison by @dhui
  • Fix grammar for Clickhouse cluster mode docs by @dhui

v4.15.0-beta.1

2 years ago

Breaking Changes

  • When updating to this version of migrate with postgres, you need to ensure that no migrations are currently running and no old versions of migrate will run at the same time as new versions. The inputs for generating the advisory lock changed so this version will lock with a different key than previous versions.

Changes

Builds

  • Use GoReleaser and GitHub Actions for releases thanks to @johejo and @Fontinalis (#604)
  • Fix test on windows (#482) by @johejo
  • Upgrade dktest from v0.3.3 to v.0.3.4 by @dhui
  • Support Go 1.16 and drop support for Go 1.15 by @dhui
  • Update docker builds to use Go 1.16 and Alpine Linux 3.13 (#560) by @dhui

Source Drivers

  • GitLab
    • Fix issue when gitlab return only first 20 migrations (#497) by @mef13
  • GitHub
    • Add default GitHub API client (#501) by @ganboonhong
    • Update go-github from v17 to v35 by @dhui
  • iofs
    • Fix iofs tests (#560) by @dhui

Database Drivers

  • used uber atomic bool instead standard in lock/unlock db (#580) by @prinkov
  • sqlite3
    • Fix error when path to database contains whitespace (#500) by @ganboonhong
    • Add support for modernc.org/sqlite (#555) by @gammazero
    • Bump sqlite past memory corruption bug (#558) by @zikaeroh
  • postgres & pgx
    • Support multi-statement execution for PostgreSQL (#495) by @AnatolyRugalev
    • Add pgx driver package (#517) by @dzbee
    • Add a check to determine if table already exists to elide CREATE query (#526) by @testtest959
    • Add x-migrations-table-quoted url query option (#95) (#533) by @stephane-klein
    • Fix SchemaName parameter is ignored (#547) by @stephane-klein
  • clubhouse
    • Upgrade clickhouse driver lib (#529) by @linux019
    • added tests for clickhouse database (#532) by @prinkov
    • make table engine for schema versions table configurable (#551) by @brunotm
  • spanner
    • fix (spanner): upgrade spanner client to v1.18.0 to support NUMERIC types (#565) by @kylechadha
  • snowflake
    • Update snowflake DB driver to update to non-vulnarable jwt downstream package (#569) by @dhui
  • mssql
    • Add msi auth support (#591) by @samfoxcode
  • mysql
    • Added a method to create a mysql database from a connection object (#583) by @Seb-C
  • cockroachdb
    • use github.com/cockroachdb/cockroach-go/v2/crdb (for better go module support) (#595) by @DGollings
  • mongodb
    • Update MongoDB db driver to fix security issue by @dhui

CLI

  • Allow the abillity to pass timezone when generating migration files (#509) by @nronas
  • fix: move -all flag usage from drop to down (#522) by @Juneezee

Docs

  • Point docs link to v4 (#524) by @jeffwidman
  • Update sqlite and sqlite3 docs with comparison by @dhui

v4.14.1

3 years ago

Changes

Source Drivers

  • Remove iofs driver (#472) since it was breaking go mod tidy. Thanks to @zikaeroh for reporting the issue (#480) and @johejo for the revert PR (#481)