Let's greg sleep better

This commit is contained in:
Nicolas Duhamel 2016-02-24 15:01:59 +01:00
parent 049c3b208c
commit f3fb2b52b7
2 changed files with 15 additions and 15 deletions

View File

@ -8,5 +8,5 @@ DROP TABLE users;
DROP TABLE base;
DROP FUNCTION update_modified_column();
DROP FUNCTION update_updated_at_column();

View File

@ -1,7 +1,7 @@
-- Enable UUID generation
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE OR REPLACE FUNCTION update_modified_column()
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = now();
@ -9,8 +9,8 @@ BEGIN
END; $$ language 'plpgsql';
CREATE TABLE base (
updated_at timestamp DEFAULT current_timestamp,
created_at timestamp DEFAULT current_timestamp
updated_at timestamp with time zone DEFAULT current_timestamp,
created_at timestamp with time zone DEFAULT current_timestamp
);
CREATE TABLE users (
@ -19,15 +19,15 @@ CREATE TABLE users (
hash text NOT NULL,
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 (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
value text NOT NULL UNIQUE,
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 (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
@ -37,14 +37,15 @@ CREATE TABLE shows (
plot text NOT NULL,
tvdb_id text NOT NULL,
year smallint NOT NULL,
first_aired timestamp,
LIKE base INCLUDING DEFAULTS
first_aired timestamp with time zone,
LIKE base INCLUDING DEFAULTS
);
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 (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
imdb_id text NOT NULL,
show_id uuid REFERENCES shows (id) ON DELETE CASCADE,
title text NOT NULL,
season smallint NOT NULL,
@ -54,12 +55,11 @@ CREATE TABLE episodes (
plot text NOT NULL,
runtime smallint 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, 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 (
show_id uuid NOT NULL REFERENCES shows (id) ON DELETE CASCADE,
@ -83,7 +83,7 @@ CREATE TABLE movies (
runtime integer NOT NULL,
sort_title text NOT NULL,
tagline text NOT NULL,
LIKE base INCLUDING DEFAULTS
LIKE base INCLUDING DEFAULTS
);
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();