Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions db/migrations/V1_0_0__initial_table_creation.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
CREATE TABLE IF NOT EXISTS Films(
id SERIAL PRIMARY KEY,
title TEXT NOT NULL,
director TEXT,
director_country TEXT,
star TEXT,
star_dob DATE,
writer TEXT,
writer_email TEXT,
year INT,
genre TEXT,
score INT
);
17 changes: 17 additions & 0 deletions db/migrations/V2_0_0__create_new_tables.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
CREATE TABLE IF NOT EXISTS Directors (
id SERIAL PRIMARY KEY,
name TEXT,
country TEXT
);

CREATE TABLE IF NOT EXISTS Stars (
id SERIAL PRIMARY KEY,
name TEXT,
dob DATE
);

CREATE TABLE IF NOT EXISTS Writers (
id SERIAL PRIMARY KEY,
name TEXT,
email TEXT
);
7 changes: 7 additions & 0 deletions db/migrations/V2_1_0__remove_details_from_films.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
ALTER TABLE Films
DROP COLUMN director,
DROP COLUMN director_country,
DROP COLUMN star,
DROP COLUMN star_dob,
DROP COLUMN writer,
DROP COLUMN writer_email;
9 changes: 9 additions & 0 deletions db/migrations/V2_2_0__add_foreign_keys.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
ALTER TABLE Films
ADD COLUMN director_id INT,
ADD COLUMN star_id INT,
ADD COLUMN writer_id INT;

ALTER TABLE Films
ADD CONSTRAINT fk_director_id FOREIGN KEY (director_id) REFERENCES Directors (id),
ADD CONSTRAINT fk_star_id FOREIGN KEY (star_id) REFERENCES Stars (id),
ADD CONSTRAINT fk_writer_id FOREIGN KEY (writer_id) REFERENCES Writers (id);
48 changes: 48 additions & 0 deletions db/migrations/V2_3_0__add_data.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
INSERT INTO Directors VALUES
('1', 'Stanley Kubrick', 'USA'),
('2', 'George Lucas', 'USA'),
('3', 'Robert Mulligan', 'USA'),
('4', 'James Cameron', 'Canada'),
('5', 'David Lean', 'UK'),
('6', 'Anthony Mann', 'USA'),
('7', 'Theodoros Angelopoulos', 'Greece'),
('8', 'Paul Verhoeven', 'Netherlands'),
('9', 'Krzysztof Kieslowski', 'Poland'),
('10', 'Jean-Paul Rappeneau', 'France');

INSERT INTO Stars VALUES
('1', 'Keir Dullea', '1936-05-30'),
('2', 'Mark Hamill', '1951-09-25'),
('3', 'Gregory Peck', '1916-04-05'),
('4', 'Leonardo DiCaprio', '1974-11-11'),
('5', 'Julie Christie', '1940-04-14'),
('6', 'Charlton Heston', '1923-10-04'),
('7', 'Manos Katrakis', '1908-08-14'),
('8', 'Rutger Hauer', '1944-01-23'),
('9', 'Juliette Binoche', '1964-03-09'),
('10', 'Gerard Depardieu', '1948-12-27');


INSERT INTO Writers VALUES
('1', 'Arthur C Clarke', '[email protected]'),
('2', 'George Lucas', '[email protected]'),
('3', 'Harper Lee', '[email protected]'),
('4', 'James Cameron', '[email protected]'),
('5', 'Boris Pasternak', '[email protected]'),
('6', 'Frederick Frank', '[email protected]'),
('7', 'Theodoros Angelopoulos', '[email protected]'),
('8', 'Erik Hazelhoff Roelfzema', '[email protected]'),
('9', 'Krzysztof Kieslowski', '[email protected]'),
('10', 'Edmond Rostand', '[email protected]');

INSERT INTO Films VALUES
('1', '2001: A Space Odyssey', '1968', 'Science Fiction', '10', '1', '1', '1'),
('2', 'Star Wars: A New Hope', '1977', 'Science Fiction', '7', '2', '2', '2'),
('3', 'To Kill A Mockingbird', '1962', 'Drama', '10', '3', '3', '3'),
('4', 'Titanic', '1997', 'Romance', '5', '4', '4', '4'),
('5', 'Dr Zhivago', '1965', 'Historical', '8', '5', '5', '5'),
('6', 'El Cid', '1961', 'Historical', '6', '6', '6', '6'),
('7', 'Voyage to Cythera', '1984', 'Drama', '8', '7', '7', '7'),
('8', 'Soldier of Orange', '1977', 'Thriller', '8', '8', '8', '8'),
('9', 'Three Colours: Blue', '1993', 'Drama', '8', '9', '9', '9'),
('10', 'Cyrano de Bergerac', '1990', 'Historical', '9', '10', '10', '10');
7 changes: 7 additions & 0 deletions db/migrations/V3_0_0__create_persons_table.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CREATE TABLE IF NOT EXISTS Persons(
id SERIAL PRIMARY KEY,
name TEXT,
country TEXT,
dob DATE,
email TEXT
);
10 changes: 10 additions & 0 deletions db/migrations/V3_1_0__change_forein_keys.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
DELETE FROM Films;

ALTER TABLE Films DROP CONSTRAINT fk_director_id;
ALTER TABLE Films DROP CONSTRAINT fk_star_id;
ALTER TABLE Films DROP CONSTRAINT fk_writer_id;

ALTER TABLE Films
ADD CONSTRAINT fk_director_id FOREIGN KEY (director_id) REFERENCES Persons (id),
ADD CONSTRAINT fk_star_id FOREIGN KEY (star_id) REFERENCES Persons (id),
ADD CONSTRAINT fk_writer_id FOREIGN KEY (writer_id) REFERENCES Persons (id);
1 change: 1 addition & 0 deletions db/migrations/V3_2_0__remove_obsolete_tables.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DROP TABLE Directors, Stars, Writers;
44 changes: 44 additions & 0 deletions db/migrations/V3_3_0__add_new_data.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
INSERT INTO Persons (id, name, country, dob, email) VALUES
-- Directors
(1, 'Stanley Kubrick', 'USA', NULL, NULL),
(2, 'George Lucas', 'USA', NULL, '[email protected]'),
(3, 'Robert Mulligan', 'USA', NULL, NULL),
(4, 'James Cameron', 'Canada', NULL, '[email protected]'),
(5, 'David Lean', 'UK', NULL, NULL),
(6, 'Anthony Mann', 'USA', NULL, NULL),
(7, 'Theodoros Angelopoulos', 'Greece', NULL, '[email protected]'),
(8, 'Paul Verhoeven', 'Netherlands', NULL, NULL),
(9, 'Krzysztof Kieslowski', 'Poland', NULL, '[email protected]'),
(10, 'Jean-Paul Rappeneau', 'France', NULL, NULL),

-- Stars
(11, 'Keir Dullea', NULL, '1936-05-30', NULL),
(12, 'Mark Hamill', NULL, '1951-09-25', NULL),
(13, 'Gregory Peck', NULL, '1916-04-05', NULL),
(14, 'Leonardo DiCaprio', NULL, '1974-11-11', NULL),
(15, 'Julie Christie', NULL, '1940-04-14', NULL),
(16, 'Charlton Heston', NULL, '1923-10-04', NULL),
(17, 'Manos Katrakis', NULL, '1908-08-14', NULL),
(18, 'Rutger Hauer', NULL, '1944-01-23', NULL),
(19, 'Juliette Binoche', NULL, '1964-03-09', NULL),
(20, 'Gerard Depardieu', NULL, '1948-12-27', NULL),

-- Writers
(21, 'Arthur C Clarke', NULL, NULL, '[email protected]'),
(22, 'Harper Lee', NULL, NULL, '[email protected]'),
(23, 'Boris Pasternak', NULL, NULL, '[email protected]'),
(24, 'Frederick Frank', NULL, NULL, '[email protected]'),
(25, 'Erik Hazelhoff Roelfzema', NULL, NULL, '[email protected]'),
(26, 'Edmond Rostand', NULL, NULL, '[email protected]');

INSERT INTO Films (id, title, year, genre, score, director_id, star_id, writer_id) VALUES
(1, '2001: A Space Odyssey', 1968, 'Science Fiction', 10, 1, 11, 21),
(2, 'Star Wars: A New Hope', 1977, 'Science Fiction', 7, 2, 12, 2),
(3, 'To Kill A Mockingbird', 1962, 'Drama', 10, 3, 13, 22),
(4, 'Titanic', 1997, 'Romance', 5, 4, 14, 4),
(5, 'Dr Zhivago', 1965, 'Historical', 8, 5, 15, 23),
(6, 'El Cid', 1961, 'Historical', 6, 6, 16, 24),
(7, 'Voyage to Cythera', 1984, 'Drama', 8, 7, 17, 7),
(8, 'Soldier of Orange', 1977, 'Thriller', 8, 8, 18, 25),
(9, 'Three Colours: Blue', 1993, 'Drama', 8, 9, 19, 9),
(10, 'Cyrano de Bergerac', 1990, 'Historical', 9, 10, 20, 26);