Subversion-Projekte lars-tiefland.prado

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
--
2
-- Database: `time-tracker`
3
--
4
 
5
-- --------------------------------------------------------
6
 
7
--
8
-- Table structure for table `categories`
9
--
10
 
11
CREATE TABLE IF NOT EXISTS `categories` (
12
  `CategoryID` int(11) NOT NULL auto_increment,
13
  `Name` varchar(255) NOT NULL,
14
  `ProjectID` int(11) NOT NULL,
15
  `ParentCategoryID` int(11) default '0',
16
  `Abbreviation` varchar(255) default NULL,
17
  `EstimateDuration` float(10,2) default '0.00',
18
  PRIMARY KEY  (`CategoryID`),
19
  UNIQUE KEY `UniqueNamePerProject` (`Name`,`ProjectID`),
20
  KEY `ProjectID` (`ProjectID`)
21
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
22
 
23
--
24
-- Dumping data for table `categories`
25
--
26
 
27
 
28
-- --------------------------------------------------------
29
 
30
--
31
-- Table structure for table `project`
32
--
33
 
34
CREATE TABLE IF NOT EXISTS `project` (
35
  `ProjectID` int(11) NOT NULL auto_increment,
36
  `Name` varchar(255) NOT NULL,
37
  `Description` varchar(255) default NULL,
38
  `CreationDate` datetime NOT NULL,
39
  `CompletionDate` datetime NOT NULL,
40
  `Disabled` tinyint(1) NOT NULL default '0',
41
  `EstimateDuration` float(10,2) NOT NULL default '0.00',
42
  `CreatorID` varchar(50) NOT NULL,
43
  `ManagerID` varchar(50) default NULL,
44
  PRIMARY KEY  (`ProjectID`),
45
  KEY `Name` (`Name`),
46
  KEY `CreatorID` (`CreatorID`),
47
  KEY `ManagerID` (`ManagerID`)
48
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
49
 
50
--
51
-- Dumping data for table `project`
52
--
53
 
54
 
55
-- --------------------------------------------------------
56
 
57
--
58
-- Table structure for table `project_members`
59
--
60
 
61
CREATE TABLE IF NOT EXISTS `project_members` (
62
  `UserID` varchar(50) NOT NULL,
63
  `ProjectID` int(11) NOT NULL,
64
  PRIMARY KEY  (`UserID`,`ProjectID`),
65
  KEY `ProjectID` (`ProjectID`)
66
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
67
 
68
--
69
-- Dumping data for table `project_members`
70
--
71
 
72
 
73
-- --------------------------------------------------------
74
 
75
--
76
-- Table structure for table `role_types`
77
--
78
 
79
CREATE TABLE IF NOT EXISTS `role_types` (
80
  `RoleType` varchar(50) NOT NULL,
81
  `Description` varchar(255) NOT NULL,
82
  PRIMARY KEY  (`RoleType`)
83
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
84
 
85
--
86
-- Dumping data for table `role_types`
87
--
88
 
89
INSERT INTO `role_types` (`RoleType`, `Description`) VALUES ('admin', 'Project administrator may additionally view the list of all users.'),
90
('consultant', 'Consultant may log time entries only.'),
91
('manager', 'Project manager may additionally edit all projects and view reports.');
92
 
93
-- --------------------------------------------------------
94
 
95
--
96
-- Table structure for table `signon`
97
--
98
 
99
CREATE TABLE IF NOT EXISTS `signon` (
100
  `SessionToken` varchar(32) NOT NULL,
101
  `Username` varchar(50) NOT NULL,
102
  `LastSignOnDate` datetime NOT NULL,
103
  PRIMARY KEY  (`SessionToken`),
104
  KEY `Username` (`Username`)
105
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
106
 
107
--
108
-- Dumping data for table `signon`
109
--
110
 
111
 
112
-- --------------------------------------------------------
113
 
114
--
115
-- Table structure for table `time_entry`
116
--
117
 
118
CREATE TABLE IF NOT EXISTS `time_entry` (
119
  `EntryID` int(11) NOT NULL auto_increment,
120
  `EntryCreated` datetime NOT NULL,
121
  `Duration` float(10,2) NOT NULL default '0.00',
122
  `Description` varchar(1000) default NULL,
123
  `CategoryID` int(11) NOT NULL default '0',
124
  `EntryDate` datetime default NULL,
125
  `CreatorID` varchar(50) NOT NULL,
126
  `UserID` varchar(50) NOT NULL,
127
  PRIMARY KEY  (`EntryID`),
128
  KEY `CategoryID` (`CategoryID`),
129
  KEY `CreatorID` (`CreatorID`),
130
  KEY `UserID` (`UserID`)
131
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
132
 
133
--
134
-- Dumping data for table `time_entry`
135
--
136
 
137
 
138
-- --------------------------------------------------------
139
 
140
--
141
-- Table structure for table `user_roles`
142
--
143
 
144
CREATE TABLE IF NOT EXISTS `user_roles` (
145
  `UserID` varchar(50) NOT NULL,
146
  `RoleType` varchar(50) NOT NULL,
147
  PRIMARY KEY  (`UserID`,`RoleType`),
148
  KEY `RoleType` (`RoleType`)
149
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
150
 
151
--
152
-- Dumping data for table `user_roles`
153
--
154
 
155
INSERT INTO `user_roles` (`UserID`, `RoleType`) VALUES ('admin', 'admin'),
156
('admin', 'consultant'),
157
('consultant', 'consultant'),
158
('manager', 'consultant'),
159
('admin', 'manager'),
160
('manager', 'manager');
161
 
162
-- --------------------------------------------------------
163
 
164
--
165
-- Table structure for table `users`
166
--
167
 
168
CREATE TABLE IF NOT EXISTS `users` (
169
  `Username` varchar(50) NOT NULL,
170
  `Password` varchar(50) NOT NULL,
171
  `EmailAddress` varchar(100) NOT NULL,
172
  `Disabled` tinyint(1) NOT NULL default '0',
173
  PRIMARY KEY  (`Username`)
174
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
175
 
176
--
177
-- Dumping data for table `users`
178
--
179
 
180
INSERT INTO `users` (`Username`, `Password`, `EmailAddress`, `Disabled`) VALUES ('admin', '21232f297a57a5a743894a0e4a801fc3', 'admin@pradosoft.com', 0),
181
('consultant', '7adfa4f2ba9323e6c1e024de375434b0', 'consultant@pradosoft.com', 0),
182
('manager', '1d0258c2440a8d19e716292b231e3190', 'manager@pradosoft.com', 0);
183
 
184
--
185
-- Constraints for dumped tables
186
--
187
 
188
--
189
-- Constraints for table `categories`
190
--
191
ALTER TABLE `categories`
192
  ADD CONSTRAINT `categories_ibfk_1` FOREIGN KEY (`ProjectID`) REFERENCES `project` (`ProjectID`) ON DELETE CASCADE;
193
 
194
--
195
-- Constraints for table `project`
196
--
197
ALTER TABLE `project`
198
  ADD CONSTRAINT `project_ibfk_6` FOREIGN KEY (`ManagerID`) REFERENCES `users` (`Username`),
199
  ADD CONSTRAINT `project_ibfk_5` FOREIGN KEY (`CreatorID`) REFERENCES `users` (`Username`);
200
 
201
--
202
-- Constraints for table `project_members`
203
--
204
ALTER TABLE `project_members`
205
  ADD CONSTRAINT `project_members_ibfk_6` FOREIGN KEY (`ProjectID`) REFERENCES `project` (`ProjectID`) ON DELETE CASCADE,
206
  ADD CONSTRAINT `project_members_ibfk_5` FOREIGN KEY (`UserID`) REFERENCES `users` (`Username`) ON DELETE CASCADE;
207
 
208
--
209
-- Constraints for table `signon`
210
--
211
ALTER TABLE `signon`
212
  ADD CONSTRAINT `signon_ibfk_1` FOREIGN KEY (`Username`) REFERENCES `users` (`Username`);
213
 
214
--
215
-- Constraints for table `time_entry`
216
--
217
ALTER TABLE `time_entry`
218
  ADD CONSTRAINT `time_entry_ibfk_8` FOREIGN KEY (`UserID`) REFERENCES `users` (`Username`),
219
  ADD CONSTRAINT `time_entry_ibfk_6` FOREIGN KEY (`CategoryID`) REFERENCES `categories` (`CategoryID`) ON DELETE CASCADE,
220
  ADD CONSTRAINT `time_entry_ibfk_7` FOREIGN KEY (`CreatorID`) REFERENCES `users` (`Username`);
221
 
222
--
223
-- Constraints for table `user_roles`
224
--
225
ALTER TABLE `user_roles`
226
  ADD CONSTRAINT `user_roles_ibfk_2` FOREIGN KEY (`RoleType`) REFERENCES `role_types` (`RoleType`),
227
  ADD CONSTRAINT `user_roles_ibfk_1` FOREIGN KEY (`UserID`) REFERENCES `users` (`Username`);