You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
synctv/migrations
zijiren da1abd1a68
feat: add recoverable resource deletion lifecycle (#394)
## Summary

- Add recoverable soft deletion for users, rooms, playlists, media, and
chat messages, with retention-based physical cleanup.
- Hide deleted users and owned resources from active API, room,
playback, messaging, and realtime paths while preserving restoration
metadata.
- Add user lifecycle administration across HTTP, gRPC, management
runtime, and SyncTV CLI, including deleted-user listing and restore
operations.
- Add lifecycle migration, cleanup orchestration, audit fields,
resource-change events, and refreshed SQLx offline metadata.

## Design

- Model account, administrator, system, room, and user deletion sources
explicitly so cascade ownership and audit history remain deterministic.
- Release email and OAuth identity occupancy during deletion;
restoration reclaims available identities and reports conflicts
according to restore options.
- Preserve recoverable aggregate rows during the retention window,
remove ephemeral membership and playback state immediately, and purge
expired data in dependency order.
- Wait for realtime observation acknowledgements before publishing
lifecycle changes to avoid subscription registration races.

## Verification

- `make nextest`: 6707 passed, 0 skipped
- `make clippy`: passed for the workspace and all targets
- `make clippy-check`: passed
- `cargo fmt --all -- --check`: passed
- `git diff --check`: passed
2 months ago
..
20260425999_create_file_storage.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426000_create_room_resource_events.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426001_create_users.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426002_create_auth_password_credentials.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426003_create_auth_webauthn_credentials.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426004_create_auth_oauth2_identities.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426005_create_auth_email_tokens.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426006_create_user_registration_requests.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426007_create_user_bans.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426008_create_auth_token_blacklist.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426009_create_auth_email_identities.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426010_create_rooms.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426011_create_room_members.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426012_create_media_provider_instances.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426013_create_playlists.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426014_create_media.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426015_create_chat_messages.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426016_create_room_settings.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426017_create_room_playback_state.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426018_create_room_creation_requests.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426019_create_room_join_requests.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426020_create_room_bans.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426021_create_room_password_credentials.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426022_create_user_media_provider_credentials.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426030_create_audit_logs.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426031_create_notifications.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426032_create_settings.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426033_create_user_preferences.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426034_create_realtime_outbox.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426035_create_room_member_kick_cooldowns.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426036_create_room_member_versions.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426037_create_auth_email_bind_requests.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426039_create_chat_message_reactions.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426040_create_user_account_profiles.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426041_create_auth_email_registration_tokens.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426042_create_content_reports.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426043_create_chat_message_mentions.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426044_create_playback_source_metadata.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426045_create_chat_message_pins.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426046_create_file_object_variants.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426047_create_room_favorites.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426048_create_provider_playback_sessions.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426049_create_auth_totp_credentials.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426050_create_email_outbox.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260808001_resource_lifecycle.sql feat: add recoverable resource deletion lifecycle (#394) 2 months ago