# Backup Restore Drill

- Generated at: 2026-03-27 18:21:07 +08:00
- Source DB: D:\project\data\user_management.db
- Backup DB: D:\project\docs\evidence\ops\2026-03-27\backup-restore\20260327-182059\user_management.backup.db
- Restored DB: D:\project\docs\evidence\ops\2026-03-27\backup-restore\20260327-182059\user_management.restored.db
- Probe port: 18080

## Hash Validation

- source sha256: 546D353065A10AA7B2B429A8ED6CBE03830D528567FB769A242A0854256F4857
- backup sha256: 546D353065A10AA7B2B429A8ED6CBE03830D528567FB769A242A0854256F4857
- restored sha256: 546D353065A10AA7B2B429A8ED6CBE03830D528567FB769A242A0854256F4857

## Snapshot Comparison

- source tables: {"devices":0,"login_logs":18,"operation_logs":50,"password_histories":0,"permissions":17,"role_permissions":20,"roles":2,"user_roles":1,"users":1,"webhook_deliveries":0,"webhooks":0}
- restored tables: {"devices":0,"login_logs":18,"operation_logs":50,"password_histories":0,"permissions":17,"role_permissions":20,"roles":2,"user_roles":1,"users":1,"webhook_deliveries":0,"webhooks":0}
- source existing tables: devices, login_logs, operation_logs, password_histories, permissions, role_permissions, roles, sqlite_sequence, user_roles, user_social_accounts, users, webhook_deliveries, webhooks
- restored existing tables: devices, login_logs, operation_logs, password_histories, permissions, role_permissions, roles, sqlite_sequence, user_roles, user_social_accounts, users, webhook_deliveries, webhooks
- source missing tables: social_accounts
- restored missing tables: social_accounts
- sample users: e2e_admin

## Restore Service Verification

- GET /health: pass
- GET /health/ready: pass
- GET /api/v1/auth/capabilities: pass
- auth capabilities payload: {"password":true,"email_activation":false,"email_code":false,"sms_code":false,"password_reset":false,"admin_bootstrap_required":false,"oauth_providers":[]}

## Evidence Files

- source-snapshot.json
- restored-snapshot.json
- server.stdout.log
- server.stderr.log
- config.restore.yaml

