Обновление схемы данных без потерь #17
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# Миграции схемы данных EventHub
|
||||
|
||||
## Применение миграций
|
||||
При старте приложения автоматически выполняются все неприменённые миграции.
|
||||
Для ручного запуска можно вызвать:
|
||||
migration_engine:apply_pending().
|
||||
|
||||
## Создание новой миграции
|
||||
1. Создайте файл в `priv/migrations/` с именем вида `YYYYMMDDHHMMSS_описание.erl`.
|
||||
2. Реализуйте поведение `db_migration` (функции `up/0` и `down/0`).
|
||||
3. При очередном запуске приложения миграция будет применена.
|
||||
|
||||
## Откат миграций
|
||||
migration_engine:rollback("20260501120000_base_schema").
|
||||
|
||||
## Плавающее обновление (rolling update)
|
||||
1. Переведите узел в режим обслуживания.
|
||||
2. Выполните бэкап: `mnesia:backup("backup_node.bak")`.
|
||||
3. Обновите код приложения (git pull / rsync).
|
||||
4. Перезапустите узел – миграции применятся автоматически.
|
||||
5. Убедитесь в согласованности данных.
|
||||
6. Верните узел в работу.
|
||||
7. Повторите для остальных узлов.
|
||||
Reference in New Issue
Block a user