Let's greg sleep better
This commit is contained in:
parent
049c3b208c
commit
9b38464bbf
@ -8,5 +8,5 @@ DROP TABLE users;
|
|||||||
|
|
||||||
DROP TABLE base;
|
DROP TABLE base;
|
||||||
|
|
||||||
DROP FUNCTION update_modified_column();
|
DROP FUNCTION update_updated_at_column();
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
-- Enable UUID generation
|
-- Enable UUID generation
|
||||||
CREATE EXTENSION IF NOT EXISTS pgcrypto;
|
CREATE EXTENSION IF NOT EXISTS pgcrypto;
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION update_modified_column()
|
CREATE OR REPLACE FUNCTION update_updated_at_column()
|
||||||
RETURNS TRIGGER AS $$
|
RETURNS TRIGGER AS $$
|
||||||
BEGIN
|
BEGIN
|
||||||
NEW.updated_at = now();
|
NEW.updated_at = now();
|
||||||
@ -9,8 +9,8 @@ BEGIN
|
|||||||
END; $$ language 'plpgsql';
|
END; $$ language 'plpgsql';
|
||||||
|
|
||||||
CREATE TABLE base (
|
CREATE TABLE base (
|
||||||
updated_at timestamp DEFAULT current_timestamp,
|
updated_at timestamp with time zone DEFAULT current_timestamp,
|
||||||
created_at timestamp DEFAULT current_timestamp
|
created_at timestamp with time zone DEFAULT current_timestamp
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE users (
|
CREATE TABLE users (
|
||||||
@ -19,15 +19,15 @@ CREATE TABLE users (
|
|||||||
hash text NOT NULL,
|
hash text NOT NULL,
|
||||||
LIKE base INCLUDING DEFAULTS
|
LIKE base INCLUDING DEFAULTS
|
||||||
);
|
);
|
||||||
CREATE TRIGGER update_users_updated_at BEFORE UPDATE ON users FOR EACH ROW EXECUTE PROCEDURE update_modified_column();
|
CREATE TRIGGER update_users_updated_at BEFORE UPDATE ON users FOR EACH ROW EXECUTE PROCEDURE update_updated_at_column();
|
||||||
|
|
||||||
CREATE TABLE tokens (
|
CREATE TABLE tokens (
|
||||||
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
value text NOT NULL UNIQUE,
|
value text NOT NULL UNIQUE,
|
||||||
user_id uuid REFERENCES users (id) ON DELETE CASCADE,
|
user_id uuid REFERENCES users (id) ON DELETE CASCADE,
|
||||||
LIKE base INCLUDING DEFAULTS
|
LIKE base INCLUDING DEFAULTS
|
||||||
);
|
);
|
||||||
CREATE TRIGGER update_tokens_updated_at BEFORE UPDATE ON tokens FOR EACH ROW EXECUTE PROCEDURE update_modified_column();
|
CREATE TRIGGER update_tokens_updated_at BEFORE UPDATE ON tokens FOR EACH ROW EXECUTE PROCEDURE update_updated_at_column();
|
||||||
|
|
||||||
CREATE TABLE shows (
|
CREATE TABLE shows (
|
||||||
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
@ -41,10 +41,11 @@ CREATE TABLE shows (
|
|||||||
LIKE base INCLUDING DEFAULTS
|
LIKE base INCLUDING DEFAULTS
|
||||||
);
|
);
|
||||||
CREATE INDEX ON shows (imdb_id);
|
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_updated_at_column();
|
||||||
|
|
||||||
CREATE TABLE episodes (
|
CREATE TABLE episodes (
|
||||||
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
|
imdb_id text NOT NULL,
|
||||||
show_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,
|
||||||
@ -54,12 +55,11 @@ CREATE TABLE episodes (
|
|||||||
plot text NOT NULL,
|
plot text NOT NULL,
|
||||||
runtime smallint NOT NULL,
|
runtime smallint NOT NULL,
|
||||||
rating real NOT NULL,
|
rating real NOT NULL,
|
||||||
imdb_id text NOT NULL,
|
|
||||||
LIKE base INCLUDING DEFAULTS
|
LIKE base INCLUDING DEFAULTS
|
||||||
);
|
);
|
||||||
CREATE INDEX ON episodes (show_id, season);
|
CREATE INDEX ON episodes (show_id, season);
|
||||||
CREATE INDEX ON episodes (show_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_updated_at_column();
|
||||||
|
|
||||||
CREATE TABLE shows_tracked (
|
CREATE TABLE shows_tracked (
|
||||||
show_id uuid NOT NULL REFERENCES shows (id) ON DELETE CASCADE,
|
show_id uuid NOT NULL REFERENCES shows (id) ON DELETE CASCADE,
|
||||||
@ -86,4 +86,4 @@ CREATE TABLE movies (
|
|||||||
LIKE base INCLUDING DEFAULTS
|
LIKE base INCLUDING DEFAULTS
|
||||||
);
|
);
|
||||||
CREATE INDEX ON movies (imdb_id);
|
CREATE INDEX ON movies (imdb_id);
|
||||||
CREATE TRIGGER update_movies_updated_at BEFORE UPDATE ON movies FOR EACH ROW EXECUTE PROCEDURE update_modified_column();
|
CREATE TRIGGER update_movies_updated_at BEFORE UPDATE ON movies FOR EACH ROW EXECUTE PROCEDURE update_updated_at_column();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user