-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinit.sql
42 lines (36 loc) · 1.17 KB
/
init.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
-- Main
CREATE DATABASE life_events;
CREATE DATABASE messaging;
CREATE DATABASE payments;
CREATE DATABASE shared;
CREATE DATABASE profile;
CREATE DATABASE scheduler;
CREATE DATABASE upload;
CREATE DATABASE journey;
-- Setup Extensions
CREATE EXTENSION "uuid-ossp";
CREATE EXTENSION "pgcrypto";
\connect shared
-- TODO: Setup migrations also for shared database
CREATE TABLE IF NOT EXISTS govid_sessions(
id UUID NOT NULL DEFAULT gen_random_uuid(),
user_id UUID NOT NULL,
token TEXT NOT NULL,
PRIMARY KEY(id) -- maybe user_id is the PK actually?
);
CREATE TABLE IF NOT EXISTS users(
id UUID NOT NULL DEFAULT gen_random_uuid() UNIQUE, -- might not need?
govid_email TEXT NOT NULL, -- At least in testing/mocking phase, we want to use this for fake "logging in" since id wont be very exiting to use
govid TEXT NOT NULL,
user_name TEXT NOT NULL,
is_public_servant BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY(govid_email)
);
CREATE TABLE IF NOT EXISTS feature_flags(
application TEXT NOT NULL,
slug TEXT NOT NULL,
title TEXT NOT NULL,
description TEXT,
is_enabled BOOLEAN NOT NULL DEFAULT false,
PRIMARY KEY(application, slug)
);