Skip to content

Releases: pressly/goose

v2.6.0 Improve error handling, --version & -v flags

05 Mar 20:52
e4b9895
Compare
Choose a tag to compare
  • Improve error handling
    • use errors.Wrap() and propagate error context, ie. print SQL statement that caused the rollback
    • add missing error checks
    • remove log.Fatal() calls from the goose pkg - everything returns error and can be used as import library
  • Add --version flag to print current version of the binary
  • Add -v flag for "verbose" mode - for debugging purposes
  • Don't create goose_db_table on goose status

v2.5.0 - fix large .sql migrations; use default std logger

04 Mar 19:55
9292c39
Compare
Choose a tag to compare
  • Improve custom logger: Use stdlib's existing logger variable by default #147
  • fix goose memory consumption on large migrations #93

Remove unused update queries

26 Nov 20:51
@1vn 1vn
7a98874
Compare
Choose a tag to compare
Merge pull request #133 from pressly/fix_dialect

Remove unused update query

down command now removes version row record

26 Nov 17:29
@1vn 1vn
5807a91
Compare
Choose a tag to compare

This will resolve dangling records when deploying different version codebases to the same DB

Fix missing return statement for fix command

14 Nov 17:07
@1vn 1vn
b6d4822
Compare
Choose a tag to compare
Merge pull request #126 from pressly/add-fix-return

add return here

Fix panic when goose is ran without any arguments

13 Nov 20:18
@1vn 1vn
82b1074
Compare
Choose a tag to compare

Build tags to exclude drivers

13 Nov 18:29
@1vn 1vn
da4711c
Compare
Choose a tag to compare

We now support build tags to exclude DB drivers such as no_mysql, no_sqlite, and no_psql. This will provide users with the flexibility to exclude drivers they don't need. This design will still include all drivers by default for ease of use.

Hybrid migration versioning

06 Nov 23:48
58aa6a8
Compare
Choose a tag to compare

We came up with a solution to the versioning problem.

Hybrid Versioning

We strongly recommend adopting a hybrid versioning approach, using both timestamps and sequential numbers. Migrations created during the development process are timestamped and sequential versions are ran on production. We believe this method will prevent the problem of conflicting versions when writing software in a team environment.
To help you adopt this approach, create will use the current timestamp as the migration version. When you're ready to deploy your migrations in a production environment, we also provide a helpful fix command to convert your migrations into sequential order, while preserving the timestamp ordering. We recommend running fix in the CI pipeline, and only when the migrations are ready for production.

Make goose_db_version table name configurable

03 May 15:27
95600eb
Compare
Choose a tag to compare
goose.SetTableName("your_table_to_track_the_db_schema_versions")

Contributed by @chapsuk, see #104.

Added logger interface and SetLogger

30 Apr 22:34
f0b1c6f
Compare
Choose a tag to compare
Merge pull request #105 from chapsuk/logger

Added logger interface and SetLogger func for redefine package output