Will future migrations for minor and bug fix versions avoid creating downtime for clients and workers? #166
-
Hello! We deploy various binaries in a given application repo to production automatically after a merge and successful CI build. Typically, for custom migrations in our apps, we make sure changes are backwards compatible to avoid any downtime. So for instance in certain cases when adding a field that should be "not null" we will:
I'm curious on the River team's methodology here for preventing required downtime for migrations, understanding that it may be necessary with semantic versioning and major versions? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Hi @shawnstephens, Both Blake and I have quite a lot of operational experience with Postgres and are well aware of its various DDL footguns. I can't give you a precise answer about how we'll handle every future migration yet, but we're already assuming that users have large River jobs tables, and will write future migrations so they'll work safely with such. We'll probably take an approach of doing only safe migrations, but in case that's not possible, we'll put together specific guides for how users should approach them. We're not quite sure about how this will fit into versioning on a permanent basis. Right now we're reserving the right to add migrations during minor version bumps, although as noted above, they'll be safe ones. This may change in the future. BTW, just in case you missed it — these days you can get away with adding a |
Beta Was this translation helpful? Give feedback.
Hi @shawnstephens,
Both Blake and I have quite a lot of operational experience with Postgres and are well aware of its various DDL footguns. I can't give you a precise answer about how we'll handle every future migration yet, but we're already assuming that users have large River jobs tables, and will write future migrations so they'll work safely with such. We'll probably take an approach of doing only safe migrations, but in case that's not possible, we'll put together specific guides for how users should approach them.
We're not quite sure about how this will fit into versioning on a permanent basis. Right now we're reserving the right to add migrations during minor version bumps, alth…