chore(release): first stable release #45
@@ -0,0 +1,17 @@
|
||||
-- Create ratings table to store user film ratings
|
||||
CREATE TABLE ratings (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
film_id BIGINT NOT NULL REFERENCES films(id) ON DELETE CASCADE,
|
||||
rating NUMERIC(3, 1) NOT NULL CHECK (rating >= 0 AND rating <= 10),
|
||||
source VARCHAR(50) NOT NULL DEFAULT 'MOVIENIGHT',
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT unique_user_film_rating UNIQUE (user_id, film_id)
|
||||
);
|
||||
|
||||
-- Create index on user_id for efficient lookups by user
|
||||
CREATE INDEX idx_ratings_user_id ON ratings(user_id);
|
||||
|
||||
-- Create index on film_id for efficient lookups by film
|
||||
CREATE INDEX idx_ratings_film_id ON ratings(film_id);
|
||||
@@ -0,0 +1,12 @@
|
||||
-- Add jellyfin_id columns for mapping between MovieNight and Jellyfin
|
||||
ALTER TABLE films
|
||||
ADD COLUMN jellyfin_id UUID UNIQUE NULL,
|
||||
ADD COLUMN jellyfin_library_id UUID NULL;
|
||||
|
||||
CREATE INDEX idx_films_jellyfin_id ON films(jellyfin_id);
|
||||
|
||||
-- Add jellyfin_id to users for sync mapping
|
||||
ALTER TABLE users
|
||||
ADD COLUMN jellyfin_id UUID UNIQUE NULL;
|
||||
|
||||
CREATE INDEX idx_users_jellyfin_id ON users(jellyfin_id);
|
||||
Reference in New Issue
Block a user