Initial commit: VoIdeaAI - voice-first AI idea assistant
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# Политика миграций БД
|
||||
|
||||
---
|
||||
|
||||
## Инструмент: Alembic
|
||||
|
||||
Миграции управляются через Alembic.
|
||||
|
||||
```bash
|
||||
# Создать миграцию
|
||||
alembic revision --autogenerate -m "add_users_table"
|
||||
|
||||
# Применить
|
||||
alembic upgrade head
|
||||
|
||||
# Откатить
|
||||
alembic downgrade -1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Правила
|
||||
|
||||
1. **Одна миграция на одно изменение.** Не смешивать разные изменения в одной миграции.
|
||||
2. **Обратная совместимость.** Миграция должна иметь downgrade.
|
||||
3. **Тестирование.** Каждая миграция тестируется (upgrade + downgrade).
|
||||
4. **Именование:** `{revision}_{action}_{table}.py`
|
||||
- `a1b2c3d4e5f6_add_content_to_ideas.py`
|
||||
|
||||
---
|
||||
|
||||
## Названия миграций
|
||||
|
||||
```
|
||||
create_{table}
|
||||
add_{column}_to_{table}
|
||||
remove_{column}_from_{table}
|
||||
add_index_on_{table}_{column}
|
||||
add_fk_{table}_{column}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## [ASK] Вопросы по миграциям
|
||||
|
||||
- Автоматические миграции на production? (не рекомендуется — только через CI после проверки)
|
||||
- Data migration (перенос данных) vs schema migration? (data migration = отдельный скрипт)
|
||||
- Как бекапить БД перед миграцией? (pg_dump / sqlite3 .backup)
|
||||
Reference in New Issue
Block a user