Migrations
Миграции БД: только через Serverpod, никогда вручную.
Правила¶
- Модели только в
onewallet_base_server/lib/src/models/*.spy.yaml— не в Dart-коде напрямую serverpod generateсоздаёт migration SQL автоматически — никогда не писать SQL-файлы вручнуюdart bin/main.dart --apply-migrationsприменяет миграции к БД
Разделение схем¶
| Схема | Кто управляет | Инструмент |
|---|---|---|
public.* |
Auth Center (Serverpod) | serverpod generate + --apply-migrations |
pm.* |
Payment Manager | drizzle-kit migrate |
Serverpod не пишет в pm.*. Payment Manager не пишет в public.*. Схемы никогда не пересекаются.
Полный цикл изменения модели¶
# 1. Отредактировать YAML-модель
# onewallet_base_server/lib/src/models/some_model.spy.yaml
# 2. Сгенерировать Dart-код и SQL-миграцию
cd onewallet_base_server && serverpod generate
# 3. Применить миграцию к БД
cd onewallet_base_server && dart bin/main.dart --apply-migrations
Просмотр меток миграций¶
ls onewallet_base_server/migrations/
# Примеры:
# 20260515105536826/
# 20260518111616268/
# 20260525162636835/
# migration_registry.txt
Каждая папка содержит migration.sql и definition.yaml, сгенерированные Serverpod.