summaryrefslogtreecommitdiff
path: root/schema.sql
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2021-03-17 14:14:36 +0100
committerSanto Cariotti <santo@dcariotti.me>2021-03-17 14:14:36 +0100
commitc3522a8d3b0236b3c9358db4160182cc211f8069 (patch)
tree8fd527c36bc63277f8c21379ad3ca2315dbcbdac /schema.sql
parent07b052797e273d4a85f2316e7ef9ca8677595dd1 (diff)
fix(schema): add on delete referenceses
Diffstat (limited to 'schema.sql')
-rw-r--r--schema.sql20
1 files changed, 10 insertions, 10 deletions
diff --git a/schema.sql b/schema.sql
index 9daa7f9..ef066d7 100644
--- a/schema.sql
+++ b/schema.sql
@@ -1,9 +1,9 @@
CREATE TABLE "repository" (
id uuid PRIMARY KEY NOT NULL,
url varchar(255) UNIQUE NOT NULL,
- created_at timestamp NOT NULL,
- updated_at timestamp NOT NULL,
- uploader_ip varchar(15) NOT NULL
+ created_at timestamp NOT NULL DEFAULT NOW(),
+ updated_at timestamp NOT NULL DEFAULT NOW(),
+ uploader_ip varchar(21) NOT NULL
);
CREATE TABLE "email"(
@@ -13,19 +13,19 @@ CREATE TABLE "email"(
CREATE TABLE "commit" (
hash varchar(40) PRIMARY KEY NOT NULL,
- tree varchar(40) REFERENCES commit(hash) NULL,
+ tree varchar(40) REFERENCES commit(hash) ON DELETE CASCADE NULL,
text text NOT NULL,
- date timestamp NOT NULL,
- author_email varchar(120) REFERENCES email(email) NOT NULL,
+ date timestamptz NOT NULL,
+ author_email varchar(120) REFERENCES email(email) ON DELETE NO ACTION NOT NULL,
author_name varchar(120) NOT NULL,
- committer_email varchar(120) REFERENCES email(email) NOT NULL,
+ committer_email varchar(120) REFERENCES email(email) ON DELETE NO ACTION NOT NULL,
committer_name varchar(120) NOT NULL,
- repository_url varchar(256) REFERENCES repository(url) NOT NULL
+ repository_url varchar(256) REFERENCES repository(url) ON DELETE CASCADE NOT NULL
);
CREATE TABLE "branch" (
id uuid PRIMARY KEY NOT NULL,
name varchar(120) NOT NULL,
- repository_id uuid REFERENCES repository(id) NOT NULL,
- head varchar(40) REFERENCES commit(hash) NULL
+ repository_id uuid REFERENCES repository(id) ON DELETE CASCADE NOT NULL,
+ head varchar(40) REFERENCES commit(hash) ON DELETE SET NULL NULL
);