From b6bc5c5794b4df182175da34e6b08298084c0324 Mon Sep 17 00:00:00 2001
From: Jan T <jan@jantuomi.fi>
Date: Wed, 28 Feb 2024 17:32:01 +0200
Subject: Initial commit

---
 migrations/0000_initial.sql | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 migrations/0000_initial.sql

(limited to 'migrations/0000_initial.sql')

diff --git a/migrations/0000_initial.sql b/migrations/0000_initial.sql
new file mode 100644
index 0000000..8e9f1ae
--- /dev/null
+++ b/migrations/0000_initial.sql
@@ -0,0 +1,28 @@
+CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
+
+CREATE TABLE IF NOT EXISTS polls (
+    id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
+    title TEXT NOT NULL,
+    description TEXT,
+    pub_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    author_name TEXT NOT NULL,
+    author_email TEXT,
+    manage_code uuid DEFAULT uuid_generate_v4()
+);
+
+CREATE TABLE IF NOT EXISTS choices (
+    id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
+    poll_id uuid NOT NULL,
+    start_datetime TIMESTAMP NOT NULL,
+    end_datetime TIMESTAMP NOT NULL,
+    FOREIGN KEY (poll_id) REFERENCES polls (id) ON DELETE CASCADE
+);
+
+CREATE TABLE IF NOT EXISTS votes (
+    id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
+    poll_id uuid NOT NULL,
+    choice_id uuid NOT NULL,
+    voter_name TEXT NOT NULL,
+    FOREIGN KEY (choice_id) REFERENCES choices (id) ON DELETE CASCADE,
+    FOREIGN KEY (poll_id) REFERENCES polls (id) ON DELETE CASCADE
+);
-- 
cgit v1.3

