Перейти к содержанию

Migrations

Миграции БД: только через Serverpod, никогда вручную.

Правила

  1. Модели только в onewallet_base_server/lib/src/models/*.spy.yaml — не в Dart-коде напрямую
  2. serverpod generate создаёт migration SQL автоматически — никогда не писать SQL-файлы вручную
  3. 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.