-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMelaveMalka.sql
94 lines (78 loc) · 3.18 KB
/
MelaveMalka.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
IF schema_id('MelaveMalka') IS NULL
EXECUTE('create schema MelaveMalka');
CREATE TABLE MelaveMalka.MelaveMalkaInfo (
RowId UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL PRIMARY KEY DEFAULT(newid()),
[RowVersion] RowVersion,
[Year] INTEGER NOT NULL UNIQUE,
AdDeadline DATETIME NOT NULL,
MelaveMalkaDate DATETIME NOT NULL,
Honoree UNIQUEIDENTIFIER NOT NULL REFERENCES Data.MasterDirectory(Id),
Speaker NVARCHAR(128) NOT NULL
);
--This table also has the same format as a ListMaker list.
CREATE TABLE MelaveMalka.Callers (
RowId UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL PRIMARY KEY DEFAULT(newid()),
PersonId UNIQUEIDENTIFIER NOT NULL REFERENCES Data.MasterDirectory(Id),
[RowVersion] RowVersion,
DateAdded DATETIME NOT NULL DEFAULT getdate(),
--Custom fields:
[Year] INTEGER NOT NULL DEFAULT year(getdate()),
);
--This table has the same format as a ListMaker list.
CREATE TABLE MelaveMalka.Invitees (
RowId UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL PRIMARY KEY DEFAULT(newid()),
PersonId UNIQUEIDENTIFIER NOT NULL REFERENCES Data.MasterDirectory(Id),
[RowVersion] RowVersion,
DateAdded DATETIME NOT NULL DEFAULT getdate(),
--Custom fields:
[Year] INTEGER NOT NULL DEFAULT year(getdate()),
[Source] NVARCHAR(64) NOT NULL,
--For call list:
ShouldCall BIT NOT NULL DEFAULT(0),
[Caller] UNIQUEIDENTIFIER NULL DEFAULT(NULL) REFERENCES MelaveMalka.Callers(RowId),
CallerNote NVARCHAR(512) NULL,
--For reminder emails
ShouldEmail BIT NOT NULL DEFAULT(0),
EmailSubject NVARCHAR(256) NULL DEFAULT(NULL),
EmailSource NTEXT NULL DEFAULT(NULL)
);
CREATE TABLE MelaveMalka.ReminderEmailLog (
RowId UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL PRIMARY KEY DEFAULT(newid()),
[RowVersion] RowVersion,
InviteId UNIQUEIDENTIFIER NOT NULL REFERENCES MelaveMalka.Invitees(RowId),
[Date] DATETIME NOT NULL,
EmailSubject NVARCHAR(256) NOT NULL,
EmailSource NTEXT NOT NULL
);
CREATE TABLE MelaveMalka.Ads (
AdId UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL PRIMARY KEY DEFAULT(newid()),
[Year] INTEGER NOT NULL DEFAULT year(getdate()),
DateAdded DATETIME NOT NULL DEFAULT getdate(),
AdType NVARCHAR(64) NOT NULL,
ExternalId INTEGER NOT NULL,
Comments NVARCHAR(512) NULL,
[RowVersion] RowVersion
);
--This table also has the same format as a ListMaker list.
CREATE TABLE MelaveMalka.SeatReservations (
RowId UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL PRIMARY KEY DEFAULT(newid()),
PersonId UNIQUEIDENTIFIER NOT NULL REFERENCES Data.MasterDirectory(Id),
[RowVersion] RowVersion,
DateAdded DATETIME NOT NULL DEFAULT getdate(),
--Custom fields:
[Year] INTEGER NOT NULL DEFAULT year(getdate()),
--The Seats fields can be null to indicate Not Coming
MensSeats INTEGER NULL,
WomensSeats INTEGER NULL
);
CREATE TABLE MelaveMalka.RaffleTickets (
RowId UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL PRIMARY KEY DEFAULT(newid()),
PersonId UNIQUEIDENTIFIER NOT NULL REFERENCES Data.MasterDirectory(Id),
[RowVersion] RowVersion,
DateAdded DATETIME NOT NULL DEFAULT getdate(),
--Custom fields:
[Year] INTEGER NOT NULL DEFAULT year(getdate()),
TicketId INTEGER NOT NULL,
Paid BIT NOT NULL DEFAULT(0),
Comments NVARCHAR(512) NULL
);