diff --git a/k-tv-backend/migrations_sqlite/20260319000002_add_library_tables.sql b/k-tv-backend/migrations_sqlite/20260319000002_add_library_tables.sql new file mode 100644 index 0000000..4143c6f --- /dev/null +++ b/k-tv-backend/migrations_sqlite/20260319000002_add_library_tables.sql @@ -0,0 +1,33 @@ +CREATE TABLE IF NOT EXISTS library_items ( + id TEXT PRIMARY KEY, + provider_id TEXT NOT NULL, + external_id TEXT NOT NULL, + title TEXT NOT NULL, + content_type TEXT NOT NULL, + duration_secs INTEGER NOT NULL DEFAULT 0, + series_name TEXT, + season_number INTEGER, + episode_number INTEGER, + year INTEGER, + genres TEXT NOT NULL DEFAULT '[]', + tags TEXT NOT NULL DEFAULT '[]', + collection_id TEXT, + collection_name TEXT, + collection_type TEXT, + thumbnail_url TEXT, + synced_at TEXT NOT NULL +); + +CREATE INDEX IF NOT EXISTS idx_library_items_provider ON library_items(provider_id); +CREATE INDEX IF NOT EXISTS idx_library_items_content_type ON library_items(content_type); +CREATE INDEX IF NOT EXISTS idx_library_items_series ON library_items(series_name); + +CREATE TABLE IF NOT EXISTS library_sync_log ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + provider_id TEXT NOT NULL, + started_at TEXT NOT NULL, + finished_at TEXT, + items_found INTEGER NOT NULL DEFAULT 0, + status TEXT NOT NULL DEFAULT 'running', + error_msg TEXT +); diff --git a/k-tv-backend/migrations_sqlite/20260319000003_add_app_settings.sql b/k-tv-backend/migrations_sqlite/20260319000003_add_app_settings.sql new file mode 100644 index 0000000..065753b --- /dev/null +++ b/k-tv-backend/migrations_sqlite/20260319000003_add_app_settings.sql @@ -0,0 +1,6 @@ +CREATE TABLE IF NOT EXISTS app_settings ( + key TEXT PRIMARY KEY, + value TEXT NOT NULL +); + +INSERT OR IGNORE INTO app_settings(key, value) VALUES ('library_sync_interval_hours', '6');