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.
|
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
|
## 21-1-26
|
||||||
|
|
||||||
- Removed `delay_profile_tags` table - tags not needed for syncing since only the
|
- 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
|
-- Radarr quality size definitions
|
||||||
-- Uses stable key: quality_name
|
-- Uses stable key: (name, quality_name)
|
||||||
CREATE TABLE radarr_quality_definitions (
|
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,
|
min_size INTEGER NOT NULL DEFAULT 0,
|
||||||
max_size INTEGER NOT NULL,
|
max_size INTEGER NOT NULL,
|
||||||
preferred_size INTEGER NOT NULL,
|
preferred_size INTEGER NOT NULL,
|
||||||
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
updated_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
|
FOREIGN KEY (quality_name) REFERENCES qualities(name) ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Sonarr quality size definitions
|
-- Sonarr quality size definitions
|
||||||
-- Uses stable key: quality_name
|
-- Uses stable key: (name, quality_name)
|
||||||
CREATE TABLE sonarr_quality_definitions (
|
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,
|
min_size INTEGER NOT NULL DEFAULT 0,
|
||||||
max_size INTEGER NOT NULL,
|
max_size INTEGER NOT NULL,
|
||||||
preferred_size INTEGER NOT NULL,
|
preferred_size INTEGER NOT NULL,
|
||||||
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
updated_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
|
FOREIGN KEY (quality_name) REFERENCES qualities(name) ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Radarr naming configuration
|
-- Radarr naming configuration
|
||||||
CREATE TABLE radarr_naming (
|
CREATE TABLE radarr_naming (
|
||||||
id INTEGER PRIMARY KEY CHECK (id = 1),
|
name VARCHAR(100) PRIMARY KEY,
|
||||||
rename INTEGER NOT NULL DEFAULT 1,
|
rename INTEGER NOT NULL DEFAULT 1,
|
||||||
movie_format TEXT NOT NULL,
|
movie_format TEXT NOT NULL,
|
||||||
movie_folder_format TEXT NOT NULL,
|
movie_folder_format TEXT NOT NULL,
|
||||||
@@ -363,7 +367,7 @@ CREATE TABLE radarr_naming (
|
|||||||
|
|
||||||
-- Sonarr naming configuration
|
-- Sonarr naming configuration
|
||||||
CREATE TABLE sonarr_naming (
|
CREATE TABLE sonarr_naming (
|
||||||
id INTEGER PRIMARY KEY CHECK (id = 1),
|
name VARCHAR(100) PRIMARY KEY,
|
||||||
rename INTEGER NOT NULL DEFAULT 1,
|
rename INTEGER NOT NULL DEFAULT 1,
|
||||||
standard_episode_format TEXT NOT NULL,
|
standard_episode_format TEXT NOT NULL,
|
||||||
daily_episode_format TEXT NOT NULL,
|
daily_episode_format TEXT NOT NULL,
|
||||||
@@ -380,7 +384,7 @@ CREATE TABLE sonarr_naming (
|
|||||||
|
|
||||||
-- Radarr general media settings
|
-- Radarr general media settings
|
||||||
CREATE TABLE radarr_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',
|
propers_repacks VARCHAR(50) NOT NULL DEFAULT 'doNotPrefer',
|
||||||
enable_media_info INTEGER NOT NULL DEFAULT 1,
|
enable_media_info INTEGER NOT NULL DEFAULT 1,
|
||||||
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
@@ -389,7 +393,7 @@ CREATE TABLE radarr_media_settings (
|
|||||||
|
|
||||||
-- Sonarr general media settings
|
-- Sonarr general media settings
|
||||||
CREATE TABLE sonarr_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',
|
propers_repacks VARCHAR(50) NOT NULL DEFAULT 'doNotPrefer',
|
||||||
enable_media_info INTEGER NOT NULL DEFAULT 1,
|
enable_media_info INTEGER NOT NULL DEFAULT 1,
|
||||||
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|||||||
Reference in New Issue
Block a user