Merge pull request 'Защита бэкапов от пустой БД пропускает БД без таблиц (счётчики «?») (#74)' (#100) from issue-74-backup-guard into dev
Reviewed-on: #100
This commit was merged in pull request #100.
This commit is contained in:
@@ -275,6 +275,17 @@ forget_repo() {
|
||||
# Защита истории от пустых данных: новый Pi до восстановления или случайно очищенная БД не
|
||||
# должны становиться «последним снимком» (restore latest вернул бы пустоту).
|
||||
guard_empty() { # guard_empty <игроков> <партий>
|
||||
# «?» — счётчики не прочитались: в БД нет таблиц (миграции ещё не прошли). Такой снимок
|
||||
# стал бы latest и сломал бы restore latest (#74) — отказ, как и для пустой БД.
|
||||
case "$1$2" in
|
||||
*'?'*)
|
||||
for _r in $(repos); do mark "run-$_r" err "в БД нет таблиц users/matches — бэкап не сделан"; done
|
||||
log "Не удалось прочитать число игроков и партий: в БД нет таблиц users/matches."
|
||||
log "Похоже, приложение ещё не применило миграции. Бэкап НЕ сделан, чтобы снимок без данных"
|
||||
log "не стал последним. Дождитесь запуска приложения; если так и задумано:"
|
||||
die "fs-backup run --allow-empty"
|
||||
;;
|
||||
esac
|
||||
if [ "$1" != 0 ] || [ "$2" != 0 ]; then return 0; fi
|
||||
for _repo in $(repos); do
|
||||
_prev="$(r "$_repo" snapshots latest --host "$SNAP_HOST" --json 2>/dev/null | jq -r \
|
||||
|
||||
Reference in New Issue
Block a user