feat(store): add DeleteUser with cascading account deletion
This commit is contained in:
@@ -31,7 +31,7 @@ CREATE TABLE users (
|
||||
```sql
|
||||
CREATE TABLE profile (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL REFERENCES users(id),
|
||||
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
name TEXT NOT NULL DEFAULT 'Default',
|
||||
garmin_email TEXT NOT NULL DEFAULT '',
|
||||
garmin_password TEXT NOT NULL DEFAULT '',
|
||||
@@ -87,7 +87,7 @@ CREATE TABLE profile (
|
||||
```sql
|
||||
CREATE TABLE workout_kinds (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL REFERENCES users(id),
|
||||
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
name TEXT NOT NULL,
|
||||
description TEXT NOT NULL DEFAULT '',
|
||||
color TEXT NOT NULL DEFAULT '',
|
||||
@@ -104,7 +104,7 @@ CREATE TABLE workout_kinds (
|
||||
|
||||
```sql
|
||||
CREATE TABLE workout_type_paces (
|
||||
workout_kind_id INTEGER PRIMARY KEY REFERENCES workout_kinds(id),
|
||||
workout_kind_id INTEGER PRIMARY KEY REFERENCES workout_kinds(id) ON DELETE CASCADE,
|
||||
pace_min_sec_per_km REAL,
|
||||
pace_max_sec_per_km REAL,
|
||||
hr_min_pct_hrr REAL,
|
||||
@@ -117,7 +117,7 @@ CREATE TABLE workout_type_paces (
|
||||
```sql
|
||||
CREATE TABLE activities (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL REFERENCES users(id),
|
||||
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
garmin_activity_id INTEGER NOT NULL,
|
||||
-- Derived at sync time from Garmin's own eventType.typeKey=="race" --
|
||||
-- a hard fact, not a rule the user tunes (see internal/classify's
|
||||
@@ -227,7 +227,7 @@ CREATE INDEX idx_kind_assignments_status ON kind_assignments(status);
|
||||
```sql
|
||||
CREATE TABLE sync_state (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL REFERENCES users(id),
|
||||
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
earliest_synced_date TEXT,
|
||||
backfill_complete INTEGER NOT NULL DEFAULT 0,
|
||||
UNIQUE(user_id)
|
||||
@@ -239,7 +239,7 @@ CREATE TABLE sync_state (
|
||||
```sql
|
||||
CREATE TABLE sync_runs (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL REFERENCES users(id),
|
||||
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
kind TEXT NOT NULL CHECK(kind IN ('backfill','incremental','full')),
|
||||
started_at TEXT NOT NULL,
|
||||
finished_at TEXT,
|
||||
|
||||
Reference in New Issue
Block a user