mirror of
https://github.com/Dictionarry-Hub/schema.git
synced 2026-05-03 06:14:17 +02:00
feat: enhance media management tables to support multiple configurations with composite primary keys
This commit is contained in:
@@ -2,6 +2,14 @@
|
||||
|
||||
All schema changes will be documented in this file.
|
||||
|
||||
## 27-1-26
|
||||
|
||||
- Media management tables now support multiple named configurations
|
||||
- Removed singleton constraints (`CHECK (id = 1)`) from naming and media settings tables
|
||||
- Added `name` as primary key to: `radarr_naming`, `sonarr_naming`, `radarr_media_settings`, `sonarr_media_settings`
|
||||
- Added `name` to composite primary key for: `radarr_quality_definitions`, `sonarr_quality_definitions`
|
||||
- Allows storing multiple independent configs per table (e.g., different naming schemes, different quality size limits)
|
||||
|
||||
## 21-1-26
|
||||
|
||||
- Removed `delay_profile_tags` table - tags not needed for syncing since only the
|
||||
|
||||
+12
-8
@@ -326,32 +326,36 @@ CREATE TABLE custom_format_tests (
|
||||
-- ============================================================================
|
||||
|
||||
-- Radarr quality size definitions
|
||||
-- Uses stable key: quality_name
|
||||
-- Uses stable key: (name, quality_name)
|
||||
CREATE TABLE radarr_quality_definitions (
|
||||
quality_name VARCHAR(100) PRIMARY KEY,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
quality_name VARCHAR(100) NOT NULL,
|
||||
min_size INTEGER NOT NULL DEFAULT 0,
|
||||
max_size INTEGER NOT NULL,
|
||||
preferred_size INTEGER NOT NULL,
|
||||
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (name, quality_name),
|
||||
FOREIGN KEY (quality_name) REFERENCES qualities(name) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- Sonarr quality size definitions
|
||||
-- Uses stable key: quality_name
|
||||
-- Uses stable key: (name, quality_name)
|
||||
CREATE TABLE sonarr_quality_definitions (
|
||||
quality_name VARCHAR(100) PRIMARY KEY,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
quality_name VARCHAR(100) NOT NULL,
|
||||
min_size INTEGER NOT NULL DEFAULT 0,
|
||||
max_size INTEGER NOT NULL,
|
||||
preferred_size INTEGER NOT NULL,
|
||||
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (name, quality_name),
|
||||
FOREIGN KEY (quality_name) REFERENCES qualities(name) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- Radarr naming configuration
|
||||
CREATE TABLE radarr_naming (
|
||||
id INTEGER PRIMARY KEY CHECK (id = 1),
|
||||
name VARCHAR(100) PRIMARY KEY,
|
||||
rename INTEGER NOT NULL DEFAULT 1,
|
||||
movie_format TEXT NOT NULL,
|
||||
movie_folder_format TEXT NOT NULL,
|
||||
@@ -363,7 +367,7 @@ CREATE TABLE radarr_naming (
|
||||
|
||||
-- Sonarr naming configuration
|
||||
CREATE TABLE sonarr_naming (
|
||||
id INTEGER PRIMARY KEY CHECK (id = 1),
|
||||
name VARCHAR(100) PRIMARY KEY,
|
||||
rename INTEGER NOT NULL DEFAULT 1,
|
||||
standard_episode_format TEXT NOT NULL,
|
||||
daily_episode_format TEXT NOT NULL,
|
||||
@@ -380,7 +384,7 @@ CREATE TABLE sonarr_naming (
|
||||
|
||||
-- Radarr general media settings
|
||||
CREATE TABLE radarr_media_settings (
|
||||
id INTEGER PRIMARY KEY CHECK (id = 1),
|
||||
name VARCHAR(100) PRIMARY KEY,
|
||||
propers_repacks VARCHAR(50) NOT NULL DEFAULT 'doNotPrefer',
|
||||
enable_media_info INTEGER NOT NULL DEFAULT 1,
|
||||
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
@@ -389,7 +393,7 @@ CREATE TABLE radarr_media_settings (
|
||||
|
||||
-- Sonarr general media settings
|
||||
CREATE TABLE sonarr_media_settings (
|
||||
id INTEGER PRIMARY KEY CHECK (id = 1),
|
||||
name VARCHAR(100) PRIMARY KEY,
|
||||
propers_repacks VARCHAR(50) NOT NULL DEFAULT 'doNotPrefer',
|
||||
enable_media_info INTEGER NOT NULL DEFAULT 1,
|
||||
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
Reference in New Issue
Block a user