Раздел 45 · Python backend: Тарбадель

Alembic: миграции и ловушки autogenerate

middle-senior~35 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Барахолка открывается через неделю, и Кельса считает товар. Пять дронов DR-404, сорок упаковок нео-лапши, кабель метрами. Продавать больше, чем лежит на складе, нельзя, значит, у товара нужна колонка stock. В модели это одна строка. В базе, где уже лежат товары и заказы, это совсем другой разговор.

В прошлом уроке таблицы создавал prepare при старте. Для базы в памяти и тестов это годится. Для базы, которая живёт годами, нужна история её изменений: что поменялось, в каком порядке и как откатить. В Django её вёл makemigrations из урока 148, а у SQLAlchemy это Alembic, инструмент миграций от тех же авторов. Как менять схему под нагрузкой, не останавливая сервис, разбирал урок 142; здесь речь про сам журнал.

урок из курса

Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.