Rename shows and episodes columns
This commit is contained in:
parent
c4af945e18
commit
bdb608ae6e
@ -13,49 +13,69 @@ import (
|
||||
|
||||
const (
|
||||
addShowQuery = `
|
||||
INSERT INTO shows (imdbid, title, rating, plot, tvdbid, year, firstaired)
|
||||
INSERT INTO shows (imdb_id, title, rating, plot, tvdb_id, year, first_aired)
|
||||
VALUES (:imdbid, :title, :rating, :plot, :tvdbid, :year, :firstaired) RETURNING id;`
|
||||
|
||||
getShowQueryByImdbID = `SELECT * FROM shows WHERE imdbid=$1;`
|
||||
getShowQueryByID = `SELECT * FROM shows WHERE id=$1;`
|
||||
deleteShowQuery = `DELETE FROM shows WHERE id=$1;`
|
||||
getShowQueryByImdbID = `
|
||||
SELECT
|
||||
id, imdb_id AS imdbid,
|
||||
title, rating, plot,
|
||||
tvdb_id AS tvdbid,
|
||||
year, first_aired AS firstaired,
|
||||
created_at, updated_at
|
||||
FROM shows WHERE imdb_id=$1;`
|
||||
|
||||
getShowQueryByID = `
|
||||
SELECT
|
||||
id, imdb_id AS imdbid,
|
||||
title, rating, plot,
|
||||
tvdb_id AS tvdbid,
|
||||
year, first_aired AS firstaired,
|
||||
created_at, updated_at
|
||||
FROM shows WHERE id=$1;`
|
||||
|
||||
deleteShowQuery = `DELETE FROM shows WHERE id=$1;`
|
||||
|
||||
addEpisodeQuery = `
|
||||
INSERT INTO episodes (shows_id, title, season, episode, tvdbid, aired, plot, runtime, rating, imdbid)
|
||||
INSERT INTO episodes (show_id, title, season, episode, tvdb_id, aired, plot, runtime, rating, imdb_id)
|
||||
VALUES (:showid, :title, :season, :episode, :tvdbid, :aired, :plot, :runtime, :rating, :episodeimdbid) RETURNING id;`
|
||||
|
||||
getEpisodesQuery = `
|
||||
SELECT title, season, episode, tvdbid, aired, plot, runtime, rating, imdbid AS episodeimdbid, shows_id AS showid
|
||||
FROM episodes WHERE shows_id=$1;`
|
||||
SELECT title, season, episode, tvdb_id AS tvdbid, aired, plot, runtime, rating, imdb_id AS episodeimdbid, show_id AS showid
|
||||
FROM episodes WHERE show_id=$1;`
|
||||
|
||||
getShowWithUserQueryByImdbID = `
|
||||
SELECT
|
||||
shows.id,
|
||||
shows.imdbid,
|
||||
shows.imdb_id AS imdbid,
|
||||
shows.title,
|
||||
shows.rating,
|
||||
shows.plot,
|
||||
shows.tvdbid,
|
||||
shows.tvdb_id AS tvdbid,
|
||||
shows.year,
|
||||
shows.firstaired,
|
||||
shows.first_aired AS firstaired,
|
||||
shows.created_at,
|
||||
shows.updated_at,
|
||||
COALESCE(shows_tracked.season,0) AS trackedseason,
|
||||
COALESCE(shows_tracked.episode,0) AS trackedepisode
|
||||
FROM shows LEFT JOIN shows_tracked ON shows.id=shows_tracked.shows_id AND shows_tracked.users_id=$2
|
||||
WHERE shows.imdbid=$1;`
|
||||
FROM shows LEFT JOIN shows_tracked ON shows.id=shows_tracked.show_id AND shows_tracked.user_id=$2
|
||||
WHERE shows.imdb_id=$1;`
|
||||
|
||||
getShowWithUserQueryByID = `
|
||||
SELECT
|
||||
shows.id,
|
||||
shows.imdbid,
|
||||
shows.imdb_id AS imdbid,
|
||||
shows.title,
|
||||
shows.rating,
|
||||
shows.plot,
|
||||
shows.tvdbid,
|
||||
shows.tvdb_id AS tvdbid,
|
||||
shows.year,
|
||||
shows.firstaired,
|
||||
shows.first_aired AS firstaired,
|
||||
shows.created_at,
|
||||
shows.updated_at,
|
||||
COALESCE(shows_tracked.season,0) AS trackedseason,
|
||||
COALESCE(shows_tracked.episode,0) AS trackedepisode
|
||||
FROM shows LEFT JOIN shows_tracked ON shows.id=shows_tracked.shows_id AND shows_tracked.users_id=$2
|
||||
FROM shows LEFT JOIN shows_tracked ON shows.id=shows_tracked.show_id AND shows_tracked.user_id=$2
|
||||
WHERE shows.id=$1;`
|
||||
)
|
||||
|
||||
|
@ -126,7 +126,7 @@ func TestTrackedShow(t *testing.T) {
|
||||
t.Fatal("Tracked must be false here")
|
||||
}
|
||||
|
||||
q := `INSERT INTO shows_tracked (shows_id, users_id, season, episode) VALUES ($1, $2, $3, $4);`
|
||||
q := `INSERT INTO shows_tracked (show_id, user_id, season, episode) VALUES ($1, $2, $3, $4);`
|
||||
_, err = db.Exec(q, show.ID, u.ID, 1, 1)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
|
@ -31,44 +31,44 @@ CREATE TRIGGER update_tokens_updated_at BEFORE UPDATE ON tokens FOR EACH ROW EXE
|
||||
|
||||
CREATE TABLE shows (
|
||||
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
imdbid text NOT NULL UNIQUE,
|
||||
imdb_id text NOT NULL UNIQUE,
|
||||
title text NOT NULL,
|
||||
rating real NOT NULL,
|
||||
plot text NOT NULL,
|
||||
tvdbid text NOT NULL,
|
||||
tvdb_id text NOT NULL,
|
||||
year smallint NOT NULL,
|
||||
firstaired timestamp,
|
||||
first_aired timestamp,
|
||||
LIKE base INCLUDING DEFAULTS
|
||||
);
|
||||
CREATE INDEX ON shows (imdbid);
|
||||
CREATE INDEX ON shows (imdb_id);
|
||||
CREATE TRIGGER update_shows_updated_at BEFORE UPDATE ON shows FOR EACH ROW EXECUTE PROCEDURE update_modified_column();
|
||||
|
||||
CREATE TABLE episodes (
|
||||
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
shows_id uuid REFERENCES shows (id) ON DELETE CASCADE,
|
||||
show_id uuid REFERENCES shows (id) ON DELETE CASCADE,
|
||||
title text NOT NULL,
|
||||
season smallint NOT NULL,
|
||||
episode smallint NOT NULL,
|
||||
tvdbid text NOT NULL,
|
||||
tvdb_id text NOT NULL,
|
||||
aired text NOT NULL,
|
||||
plot text NOT NULL,
|
||||
runtime smallint NOT NULL,
|
||||
rating real NOT NULL,
|
||||
imdbid text NOT NULL,
|
||||
imdb_id text NOT NULL,
|
||||
LIKE base INCLUDING DEFAULTS
|
||||
);
|
||||
CREATE INDEX ON episodes (shows_id, season);
|
||||
CREATE INDEX ON episodes (shows_id, season, episode);
|
||||
CREATE INDEX ON episodes (show_id, season);
|
||||
CREATE INDEX ON episodes (show_id, season, episode);
|
||||
CREATE TRIGGER update_episodes_updated_at BEFORE UPDATE ON episodes FOR EACH ROW EXECUTE PROCEDURE update_modified_column();
|
||||
|
||||
CREATE TABLE shows_tracked (
|
||||
shows_id uuid NOT NULL REFERENCES shows (id) ON DELETE CASCADE,
|
||||
users_id uuid NOT NULL REFERENCES users (id) ON DELETE CASCADE,
|
||||
show_id uuid NOT NULL REFERENCES shows (id) ON DELETE CASCADE,
|
||||
user_id uuid NOT NULL REFERENCES users (id) ON DELETE CASCADE,
|
||||
season smallint NOT NULL,
|
||||
episode smallint NOT NULL
|
||||
);
|
||||
CREATE INDEX ON shows_tracked (shows_id, users_id);
|
||||
CREATE INDEX ON shows_tracked (users_id);
|
||||
CREATE INDEX ON shows_tracked (show_id, user_id);
|
||||
CREATE INDEX ON shows_tracked (user_id);
|
||||
|
||||
CREATE TABLE movies (
|
||||
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
|
Loading…
x
Reference in New Issue
Block a user