-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinitial_schema.sql
166 lines (141 loc) · 4.02 KB
/
initial_schema.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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
-- User Admin Roles
CREATE USER [bjorn.goa@bouvet.no] FROM EXTERNAL PROVIDER WITH DEFAULT_SCHEMA = dbo;
ALTER ROLE db_datareader ADD MEMBER [bjorn.goa@bouvet.no];
ALTER ROLE db_datawriter ADD MEMBER [bjorn.goa@bouvet.no];
ALTER ROLE db_owner ADD MEMBER [bjorn.goa@bouvet.no];
CREATE USER [malin.svela@bouvet.no] FROM EXTERNAL PROVIDER WITH DEFAULT_SCHEMA = dbo;
ALTER ROLE db_datareader ADD MEMBER [malin.svela@bouvet.no];
ALTER ROLE db_datawriter ADD MEMBER [malin.svela@bouvet.no];
ALTER ROLE db_ddladmin ADD MEMBER [malin.svela@bouvet.no];
-- Tables
CREATE TABLE User (
id varchar(500) PRIMARY KEY NOT NULL DEFAULT newid(),
userRoleId varchar(500) NOT NULL,
firstName varchar(250) NOT NULL,
lastName varchar(250) NOT NULL,
username varchar(250) NOT NULL,
email varchar(300) NOT NULL,
password varchar(300) NOT NULL
);
ALTER TABLE [User]
ADD CONSTRAINT FK_User_Role_Id FOREIGN KEY (userRoleId)
REFERENCES User_Role (id)
ON DELETE CASCADE
ON UPDATE NO ACTION
;
CREATE TABLE User_Role (
id varchar(500) NOT NULL PRIMARY KEY,
Name varchar(100) NOT NULL,
);
CREATE TABLE Form_Task (
description VARCHAR (1500) NOT NULL,
category_id VARCHAR (500) NOT NULL,
id VARCHAR (500) NOT NULL PRIMARY KEY,
);
ALTER TABLE Form_Task
ADD CONSTRAINT FK_Category_Id FOREIGN KEY (category_id)
REFERENCES Category (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
CREATE TABLE Category (
id VARCHAR(500) NOT NULL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
);
CREATE TABLE Checklist (
id VARCHAR(500) NOT NULL PRIMARY KEY,
title VARCHAR(100) NOT NULL,
checklistStatus INT,
createdDate DATE,
updatedDate DATE,
createdBy VARCHAR(500)
);
ALTER TABLE Form
ADD CONSTRAINT FK_Created_By FOREIGN KEY (created_by)
REFERENCES User (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
CREATE TABLE Punch(
id VARCHAR(500) NOT NULL PRIMARY KEY,
form_id VARCHAR(500) NOT NULL,
user_id VARCHAR(500) NOT NULL,
created_date DATE,
punch_description VARCHAR(1500),
severity int NOT NULL, (1 = minor, 2 = major, 3 = critical ???)
punch_status int NOT NULL, (1 = pending, 2 = approved, 3 = rejected)
active TINYINT,
edited_date DATE,
);
ALTER TABLE Punch
ADD CONSTRAINT FK_Punch_User_Id FOREIGN KEY (user_id)
REFERENCES User (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
ALTER TABLE Punch
ADD CONSTRAINT FK_Punch_Form_Id FOREIGN KEY (form_id)
REFERENCES Form (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
CREATE TABLE Upload(
id VARCHAR(500) NOT NULL PRIMARY KEY,
punchId VARCHAR(500) NOT NULL,
blobRef VARCHAR(1500) NOT NULL,
);
ALTER TABLE Upload
ADD CONSTRAINT FK_Upload_Punch_Id FOREIGN KEY (punch_id)
REFERENCES Punch (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
CREATE TABLE Form_Handler(
id VARCHAR NOT NULL PRIMARY KEY,
form_id VARCHAR(500) NOT NULL,
created_date DATE,
expire_interval DATE,
user_id VARCHAR(500) NOT NULL,
form_status int,
form_data NVARCHAR(4000),
active TINYINT,
edited_date DATE,
);
ALTER TABLE Form_Handler
ADD CONSTRAINT FK_Form_Handler_Form_Id FOREIGN KEY (form_id)
REFERENCES Form (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
ALTER TABLE Form_Handler
ADD CONSTRAINT FK_Form_Handler_User_Id FOREIGN KEY (user_id)
REFERENCES User (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
CREATE TABLE Ad_Link(
user_id VARCHAR(500),
ad_identifier VARCHAR(500)
);
ALTER TABLE Ad_Link
ADD CONSTRAINT FK_Ad_Link_User FOREIGN KEY (user_id)
REFERENCES User (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
CREATE TABLE Task_Form_Link(
task_id VARCHAR(500),
form_id VARCHAR(500)
)
ALTER TABLE Task_Form_Link
ADD CONSTRAINT FK_Task_Id FOREIGN KEY (task_id)
REFERENCES Form_Task (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
ALTER TABLE Task_Form_Link
ADD CONSTRAINT FK_Form_Id FOREIGN KEY (form_id)
REFERENCES Form (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;