goose icon indicating copy to clipboard operation
goose copied to clipboard

Development Roadmap for v3

Open mfridman opened this issue 2 years ago • 0 comments

This meta-issue captures upcoming improvements planned for the /v3 module of goose.

There are no plans to make backwards-incompatible changes.

The goal is to add new functionality while keeping the existing implementation as-is. There were references to cutting a new major version /v4, but after a lot of thought, experimentation and feedback, we believe there's a way to evolve the goose package without forcing a new major version.

Below are specific areas in the library we'd like to tackle.

Enhancements / New features

  • Adding a new *goose.Provider struct. https://github.com/pressly/goose/issues/379
    • no global state
    • safe for concurrent use
      • https://github.com/pressly/goose/issues/587
    • a prerequisite for adding database locking
    • update CLI to use *goose.Provider
  • Add locking mechanism
    • consider a generic Locker interface. Unlocks the ability for users to bring their own.
      • https://github.com/pressly/goose/pull/575
    • https://github.com/pressly/goose/issues/335
  • Add grouped migrations feature
    • https://github.com/pressly/goose/issues/485
    • https://github.com/pressly/goose/issues/222
  • Add repeatable migration support
    • https://github.com/pressly/goose/issues/472
  • Add environment variable interpolation
    • https://github.com/pressly/goose/issues/347

Performance

...

Bug fixes

...

Misc

  • Add timeout functionality
    • https://github.com/pressly/goose/issues/576
  • Improve engine support in ClickHouse
    • https://github.com/pressly/goose/issues/535
    • https://github.com/pressly/goose/pull/520
    • https://github.com/pressly/goose/pull/530
  • Allow baseline and ignore migration support
    • https://github.com/pressly/goose/issues/431
  • Consider callback functions to skip/run migrations
    • https://github.com/pressly/goose/issues/413
  • Add YDB support
    • https://github.com/pressly/goose/pull/590
    • https://github.com/pressly/goose/pull/592

mfridman avatar Oct 07 '23 11:10 mfridman