Это третья часть мини-серии о Django-миграциях. В первой части мы готовились к миграциям и разбирались с конфликтами, во второй чинили типичные подводные камни. Если их не читали, то рекомендую начать именно с них, а затем вернуться сюда.В этом же материале поговорим о самом интересном: что происходит, когда python manage.py migrate запускается в 17:30 в пятницу на проде, под 3k RPS и таблицей в 200 миллионов строк. Расскажу какие блокировки в PostgreSQL берёт каждая операция Django, что внутри atomic = False, как пишется правильный паттерн expand-migrate-contract, зачемнужны AddIndexConcurrently, AddConstraintNotValid, SeparateDatabaseAndState и как обновлять данные на больших таблицах.
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Что нужно знать о Django миграциях, чтобы не превратить в тыкву свой продакшен во время обновлений | 0 | 7.16 | 24-02-2026 |
| 2 | Making Django unique constraints case-insensitive (with no downtime) | 0 | 14.22 | 08-03-2026 |
| 3 | Django ORM ломается не там, где вы смотрели: шесть ошибок | 0 | 7.76 | 02-08-2026 |
| 4 | Gotchas With SQLite in Production | 0 | 12.11 | 03-04-2026 |
| 5 | Асинхронный django: новые начинания | 1 | 10.47 | 16-06-2026 |
| 6 | Django: introducing django-integrity-policy | 0 | 35 | 03-06-2026 |
| 7 | Минус 500 MB: оптимизируем Docker-образ Django-приложения | -1 | 17.23 | 15-06-2026 |
| 8 | django-query-doctor: Diagnose Slow Django Queries | 0 | 30 | 02-08-2026 |
| 9 | Ваши тесты медленные не из-за базы данных. Я измерил | 0 | 9.6 | 15-06-2026 |
| 10 | Django - 5.2.16 | 0 | 28.18 | 07-07-2026 |