From e0b02ee68d2b66a9c2fbb58173c74d97fa455b46 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Mon, 4 Mar 2019 16:27:01 +0100 Subject: Add basic db schema. --- .../2019-03-04-150558_add_rooms_table/down.sql | 17 ++++++++++++ .../2019-03-04-150558_add_rooms_table/up.sql | 20 ++++++++++++++ .../2019-03-04-151740_add_film_table/down.sql | 17 ++++++++++++ migrations/2019-03-04-151740_add_film_table/up.sql | 21 +++++++++++++++ .../down.sql | 17 ++++++++++++ .../2019-03-04-151932_add_screenings_table/up.sql | 24 +++++++++++++++++ src/schema.rs | 31 ++++++++++++++++++++++ 7 files changed, 147 insertions(+) create mode 100644 migrations/2019-03-04-150558_add_rooms_table/down.sql create mode 100644 migrations/2019-03-04-150558_add_rooms_table/up.sql create mode 100644 migrations/2019-03-04-151740_add_film_table/down.sql create mode 100644 migrations/2019-03-04-151740_add_film_table/up.sql create mode 100644 migrations/2019-03-04-151932_add_screenings_table/down.sql create mode 100644 migrations/2019-03-04-151932_add_screenings_table/up.sql create mode 100644 src/schema.rs diff --git a/migrations/2019-03-04-150558_add_rooms_table/down.sql b/migrations/2019-03-04-150558_add_rooms_table/down.sql new file mode 100644 index 0000000..ec17853 --- /dev/null +++ b/migrations/2019-03-04-150558_add_rooms_table/down.sql @@ -0,0 +1,17 @@ +-- Social program for Ramaskrik. +-- Copyright (C) 2019 Harald Eilertsen +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU Affero General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU Affero General Public License for more details. +-- +-- You should have received a copy of the GNU Affero General Public License +-- along with this program. If not, see . + +DROP TABLE rooms diff --git a/migrations/2019-03-04-150558_add_rooms_table/up.sql b/migrations/2019-03-04-150558_add_rooms_table/up.sql new file mode 100644 index 0000000..d989c9f --- /dev/null +++ b/migrations/2019-03-04-150558_add_rooms_table/up.sql @@ -0,0 +1,20 @@ +-- Social program for Ramaskrik. +-- Copyright (C) 2019 Harald Eilertsen +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU Affero General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU Affero General Public License for more details. +-- +-- You should have received a copy of the GNU Affero General Public License +-- along with this program. If not, see . + +CREATE TABLE rooms ( + id SERIAL PRIMARY KEY, + name VARCHAR NOT NULL +) diff --git a/migrations/2019-03-04-151740_add_film_table/down.sql b/migrations/2019-03-04-151740_add_film_table/down.sql new file mode 100644 index 0000000..c01812f --- /dev/null +++ b/migrations/2019-03-04-151740_add_film_table/down.sql @@ -0,0 +1,17 @@ +-- Social program for Ramaskrik. +-- Copyright (C) 2019 Harald Eilertsen +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU Affero General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU Affero General Public License for more details. +-- +-- You should have received a copy of the GNU Affero General Public License +-- along with this program. If not, see . + +DROP TABLE films diff --git a/migrations/2019-03-04-151740_add_film_table/up.sql b/migrations/2019-03-04-151740_add_film_table/up.sql new file mode 100644 index 0000000..f4beca3 --- /dev/null +++ b/migrations/2019-03-04-151740_add_film_table/up.sql @@ -0,0 +1,21 @@ +-- Social program for Ramaskrik. +-- Copyright (C) 2019 Harald Eilertsen +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU Affero General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU Affero General Public License for more details. +-- +-- You should have received a copy of the GNU Affero General Public License +-- along with this program. If not, see . + +CREATE TABLE films ( + id SERIAL PRIMARY KEY, + title VARCHAR NOT NULL, + url VARCHAR +) diff --git a/migrations/2019-03-04-151932_add_screenings_table/down.sql b/migrations/2019-03-04-151932_add_screenings_table/down.sql new file mode 100644 index 0000000..7912082 --- /dev/null +++ b/migrations/2019-03-04-151932_add_screenings_table/down.sql @@ -0,0 +1,17 @@ +-- Social program for Ramaskrik. +-- Copyright (C) 2019 Harald Eilertsen +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU Affero General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU Affero General Public License for more details. +-- +-- You should have received a copy of the GNU Affero General Public License +-- along with this program. If not, see . + +DROP TABLE screenings diff --git a/migrations/2019-03-04-151932_add_screenings_table/up.sql b/migrations/2019-03-04-151932_add_screenings_table/up.sql new file mode 100644 index 0000000..b7550b5 --- /dev/null +++ b/migrations/2019-03-04-151932_add_screenings_table/up.sql @@ -0,0 +1,24 @@ +-- Social program for Ramaskrik. +-- Copyright (C) 2019 Harald Eilertsen +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU Affero General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU Affero General Public License for more details. +-- +-- You should have received a copy of the GNU Affero General Public License +-- along with this program. If not, see . + +CREATE TABLE screenings ( + id SERIAL PRIMARY KEY, + film_id INTEGER NOT NULL, + room_id INTEGER NOT NULL, + date DATE NOT NULL, + start_time TIME NOT NULL, + end_time TIME NOT NULL +) diff --git a/src/schema.rs b/src/schema.rs new file mode 100644 index 0000000..88e1e00 --- /dev/null +++ b/src/schema.rs @@ -0,0 +1,31 @@ +table! { + films (id) { + id -> Int4, + title -> Varchar, + url -> Nullable, + } +} + +table! { + rooms (id) { + id -> Int4, + name -> Varchar, + } +} + +table! { + screenings (id) { + id -> Int4, + film_id -> Int4, + room_id -> Int4, + date -> Date, + start_time -> Time, + end_time -> Time, + } +} + +allow_tables_to_appear_in_same_query!( + films, + rooms, + screenings, +); -- cgit v1.2.3