Версия источника: 4880e8b4372c96001c2e052be28b68a95d31252b
Синхронизировано: 2026-11-09T11:15:07.649Z
Источник: https://github.com/sergey-from-riders/vibecoding-base/tree/4880e8b4372c96001c2e052be28b68a95d31252b

<a id="database-migrations"></a>

# Миграции схемы

## Коротко

Выпускайте несовместимые изменения в несколько совместимых этапов.

## Плохо

```text
Удалить колонку → выпустить новый код.
```

## Хорошо

```text
Добавить новое поле → заполнить порциями →
переключить чтение → позже удалить старое.
```

## Почему

Во время выпуска старый и новый код могут работать одновременно.

## Когда применять

Для production с данными. Уже применённые миграции не переписываются; откат данных не всегда возможен через down.

## Как проверить

- Проверены блокировки, время заполнения и старый код на новой схеме?

## Человек

Согласует окно выпуска, совместимость и допустимые блокировки.

## Агент

Готовит схему или миграцию, проверяет граничные значения и совместимость с текущими запросами.

Контроль результата:

- Проверены блокировки, время заполнения и старый код на новой схеме?

## Источники

- [PostgreSQL: Documentation: 18: ALTER TABLE](https://www.postgresql.org/docs/18/sql-altertable.html)
- [Editing a migration in Prisma ORM](https://www.prisma.io/docs/orm/prisma-migrate/workflows/customizing-migrations)

Уровень: Обязательно. Проверено: 2026-11-09. Изменено: 2026-11-09.

[Исходный файл](https://github.com/sergey-from-riders/vibecoding-base/blob/4880e8b4372c96001c2e052be28b68a95d31252b/registry/standards/database/postgres/rules/migrations.md)
