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