Re: Integrating migrations with the check framework

2020-12-25 Thread Paveł Tyślacki
A few thoughts: migration downtime depends from different points: - changes itself (existence of exclusive locks in migration especially with other changes in same transaction, luck of backward incompatible migrations between current and new state) - amount of user data - load to application - num

Re: Integrating migrations with the check framework

2020-12-24 Thread David Wobrock
Hi everyone, I agree that there is room for improvement around migrations in Django with respect to the expected downtime/table locking. But I don’t know whether this should in Django itself or handled by a 3rd party library. I’m maintaining the django-migration-linter (the very idea was to h

Re: Integrating migrations with the check framework

2020-12-23 Thread Tom Forbes
Thanks for all the input here! I didn’t know about django-migration-linter, and it does seem quite interesting. It works by looking at the complete set of SQL statements that would be run, and running regular expressions/string comparisons on it ( https://github.com/3YOURMIND/django-migration-lin

Re: Integrating migrations with the check framework

2020-12-23 Thread Ryan Hiebert
This is an interesting discussion that is separate from, but related to, django-safemigrate, which we use to separate which migrations may run before or after deployment. I intend follow along with this discussion, to see if there are reasonable ways to identify when these zero-downtime operations

Re: Integrating migrations with the check framework

2020-12-23 Thread Paveł Tyślacki
Want to share lib I work previously for migration safety with postgres some time ago: https://github.com/tbicr/django-pg-zero-downtime-migrations there are also checker and replacement of unsafe mirations with safe replacement. ср, 23 дек. 2020 г. в 12:18, Adam Johnson : > Hi Tom, > > I love this

Re: Integrating migrations with the check framework

2020-12-23 Thread Adam Johnson
Hi Tom, I love this idea and would like to help developers write safe migrations too. You didn't mention this pre-existing project: https://github.com/3YOURMIND/django-migration-linter . It might be worth checking how that works. I'm not sure what any public API could look like here. In django-l

Integrating migrations with the check framework

2020-12-22 Thread Tom Forbes
Hey, A fairly common problem with large and/or highly trafficked web applications is migration safety: you want your migrations to be non-locking and instantaneous. The specifics are very database dependent but in Postgres simply altering the nullability of a column can incur serious downtime depen