NEW FEATURE: implement Lance's Schweinchen rule
[e-DoKo.git] / create_database.sql
1 -- MySQL dump 10.9
2 --
3 -- Host: localhost    Database: doko
4 -- ------------------------------------------------------
5 -- Server version       4.1.10
6
7 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9 /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10 /*!40101 SET NAMES utf8 */;
11 /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
12 /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
13 /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
14
15 --
16 -- Table structure for table `Card`
17 --
18
19 DROP TABLE IF EXISTS `Card`;
20 CREATE TABLE `Card` (
21   `id` int(11) NOT NULL auto_increment,
22   `suite` enum('diamonds','hearts','spades','clubs') NOT NULL default 'diamonds',
23   `strength` enum('nine','ten','jack','queen','king','ace') NOT NULL default 'nine',
24   `points` tinyint(4) NOT NULL default '0',
25   UNIQUE KEY `id` (`id`)
26 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
27
28 --
29 -- Dumping data for table `Card`
30 --
31
32
33 /*!40000 ALTER TABLE `Card` DISABLE KEYS */;
34 LOCK TABLES `Card` WRITE;
35 INSERT INTO `Card` VALUES (1,'hearts','ten',10),(2,'hearts','ten',10),(3,'clubs','queen',3),(4,'clubs','queen',3),(5,'spades','queen',3),(6,'spades','queen',3),(7,'hearts','queen',3),(8,'hearts','queen',3),(9,'diamonds','queen',3),(10,'diamonds','queen',3),(11,'clubs','jack',2),(12,'clubs','jack',2),(13,'spades','jack',2),(14,'spades','jack',2),(15,'hearts','jack',2),(16,'hearts','jack',2),(17,'diamonds','jack',2),(18,'diamonds','jack',2),(19,'diamonds','ace',11),(20,'diamonds','ace',11),(21,'diamonds','ten',10),(22,'diamonds','ten',10),(23,'diamonds','king',4),(24,'diamonds','king',4),(25,'diamonds','nine',0),(26,'diamonds','nine',0),(27,'clubs','ace',11),(28,'clubs','ace',11),(29,'clubs','ten',10),(30,'clubs','ten',10),(31,'clubs','king',4),(32,'clubs','king',4),(33,'clubs','nine',0),(34,'clubs','nine',0),(35,'spades','ace',11),(36,'spades','ace',11),(37,'spades','ten',10),(38,'spades','ten',10),(39,'spades','king',4),(40,'spades','king',4),(41,'spades','nine',0),(42,'spades','nine',0),(43,'hearts','ace',11),(44,'hearts','ace',11),(45,'hearts','king',4),(46,'hearts','king',4),(47,'hearts','nine',0),(48,'hearts','nine',0);
36 UNLOCK TABLES;
37 /*!40000 ALTER TABLE `Card` ENABLE KEYS */;
38
39 --
40 -- Table structure for table `Comment`
41 --
42
43 DROP TABLE IF EXISTS `Comment`;
44 CREATE TABLE `Comment` (
45   `mod_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
46   `create_date` timestamp NOT NULL default '0000-00-00 00:00:00',
47   `id` int(11) NOT NULL auto_increment,
48   `user_id` int(11) default NULL,
49   `play_id` int(11) default NULL,
50   `comment` text,
51   UNIQUE KEY `id` (`id`),
52   KEY `play_id` (`play_id`)
53 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
54
55 --
56 -- Dumping data for table `Comment`
57 --
58
59
60 /*!40000 ALTER TABLE `Comment` DISABLE KEYS */;
61 LOCK TABLES `Comment` WRITE;
62 UNLOCK TABLES;
63 /*!40000 ALTER TABLE `Comment` ENABLE KEYS */;
64
65 --
66 -- Table structure for table `Notes`
67 --
68
69 DROP TABLE IF EXISTS `Notes`;
70 CREATE TABLE `Notes` (
71   `mod_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
72   `create_date` timestamp NOT NULL default '0000-00-00 00:00:00',
73   `id` int(11) NOT NULL auto_increment,
74   `user_id` int(11) default NULL,
75   `game_id` int(11) default NULL,
76   `comment` text,
77   UNIQUE KEY `id` (`id`)
78 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
79
80 --
81 -- Dumping data for table `Notes`
82 --
83
84 /*!40000 ALTER TABLE `Notes` DISABLE KEYS */;
85 LOCK TABLES `Notes` WRITE;
86 UNLOCK TABLES;
87 /*!40000 ALTER TABLE `Notes` ENABLE KEYS */;
88
89 --
90 -- Table structure for table `Game`
91 --
92
93 DROP TABLE IF EXISTS `Game`;
94 CREATE TABLE `Game` (
95   `mod_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
96   `create_date` timestamp NOT NULL default '0000-00-00 00:00:00',
97   `randomnumbers` varchar(136) default NULL,
98   `type` enum('normal','solo','wedding','poverty','dpoverty') default NULL,
99   `solo` enum('trumpless','jack','queen','trump','club','spade','heart','silent') default NULL,
100   `sickness` int(11) default NULL,
101   `startplayer` tinyint(4) default '1', 
102   `player` int(11) default NULL, 
103   `status` enum('pre','play','gameover') default NULL,
104   `ruleset` int(11) default NULL,
105   `session` int(11) default NULL,
106   `id` int(11) NOT NULL auto_increment,
107   UNIQUE KEY `id` (`id`)
108 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
109
110 --
111 -- Dumping data for table `Game`
112 --
113
114
115 /*!40000 ALTER TABLE `Game` DISABLE KEYS */;
116 LOCK TABLES `Game` WRITE;
117 UNLOCK TABLES;
118 /*!40000 ALTER TABLE `Game` ENABLE KEYS */;
119
120
121 --
122 -- Table structure for table `Ruleset`
123 --
124
125 DROP TABLE IF EXISTS `Rulesets`;
126 CREATE TABLE `Rulesets` (
127   `mod_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
128   `create_date` timestamp NOT NULL default '0000-00-00 00:00:00',
129   `dullen` enum('none','firstwins','secondwins') default 'secondwins',
130   `schweinchen` enum ('none','both','second','secondaftercall') default 'second',
131   `call` enum ('1st-own-card','5th-card','9-cards') default '1st-own-card',
132   `id` int(11) NOT NULL auto_increment,
133   UNIQUE KEY `id` (`id`)
134 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
135   
136 --
137 -- Dumping data for table `Rulesets`
138 --
139
140
141 /*!40000 ALTER TABLE `Rulesets` DISABLE KEYS */;
142 LOCK TABLES `Rulesets` WRITE;
143 UNLOCK TABLES;
144 /*!40000 ALTER TABLE `Rulesets` ENABLE KEYS */;
145
146
147
148 --
149 -- Table structure for table `Hand`
150 --
151
152 DROP TABLE IF EXISTS `Hand`;
153 CREATE TABLE `Hand` (
154   `id` int(11) NOT NULL auto_increment,
155   `game_id` int(11) NOT NULL default '0',
156   `user_id` int(11) NOT NULL default '0',
157   `hash` varchar(33) default NULL,
158   `status` enum('start','init','check','poverty','play','gameover') default 'start',
159   `position` tinyint(4) NOT NULL default '0',
160   `party` enum('re','contra') default NULL,
161   `sickness` enum('wedding','nines','poverty','solo') default NULL,
162   `solo` enum('trumpless','jack','queen','trump','club','spade','heart','silent') default NULL,
163   `point_call` enum('120','90','60','30','0') default NULL,
164   UNIQUE KEY `id` (`id`),
165   KEY `game_id` (`game_id`),
166   KEY `user_id` (`user_id`)
167 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
168
169 --
170 -- Dumping data for table `Hand`
171 --
172
173
174 /*!40000 ALTER TABLE `Hand` DISABLE KEYS */;
175 LOCK TABLES `Hand` WRITE;
176 UNLOCK TABLES;
177 /*!40000 ALTER TABLE `Hand` ENABLE KEYS */;
178
179 --
180 -- Table structure for table `Hand_Card`
181 --
182
183 DROP TABLE IF EXISTS `Hand_Card`;
184 CREATE TABLE `Hand_Card` (
185   `id` int(11) NOT NULL auto_increment,
186   `hand_id` int(11) NOT NULL default '0',
187   `card_id` int(11) NOT NULL default '0',
188   `played` enum('true','false') default 'false',
189   UNIQUE KEY `id` (`id`),
190   KEY `hand_id` (`hand_id`)
191 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
192
193 --
194 -- Dumping data for table `Hand_Card`
195 --
196
197
198 /*!40000 ALTER TABLE `Hand_Card` DISABLE KEYS */;
199 LOCK TABLES `Hand_Card` WRITE;
200 UNLOCK TABLES;
201 /*!40000 ALTER TABLE `Hand_Card` ENABLE KEYS */;
202
203 --
204 -- Table structure for table `Card_Exchange`
205 --
206
207 DROP TABLE IF EXISTS `Card_Exchange`;
208 CREATE TABLE `Card_Exchange` (
209   `id` int(11) NOT NULL auto_increment,
210   `orig_hand_id` int(11) NOT NULL default '0',
211   `new_hand_id` int(11) NOT NULL default '0',
212   `card_id` int(11) NOT NULL default '0',
213   UNIQUE KEY `id` (`id`),
214   KEY `orig_hand_id` (`orig_hand_id`),
215   KEY `new_hand_id` (`new_hand_id`)
216 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
217
218 --
219 -- Dumping data for table `Hand_Card`
220 --
221
222
223 /*!40000 ALTER TABLE `Hand_Card` DISABLE KEYS */;
224 LOCK TABLES `Hand_Card` WRITE;
225 UNLOCK TABLES;
226 /*!40000 ALTER TABLE `Hand_Card` ENABLE KEYS */;
227
228
229 --
230 -- Table structure for table `Play`
231 --
232
233 DROP TABLE IF EXISTS `Play`;
234 CREATE TABLE `Play` (
235   `mod_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
236   `create_date` timestamp NOT NULL default '0000-00-00 00:00:00',
237   `id` int(11) NOT NULL auto_increment,
238   `trick_id` int(11) NOT NULL default '0',
239   `hand_card_id` int(11) NOT NULL default '0',
240   `sequence` tinyint(4) NOT NULL default '0',
241   UNIQUE KEY `id` (`id`),
242   KEY `trick_id` (`trick_id`)
243 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
244
245 --
246 -- Dumping data for table `Play`
247 --
248
249
250 /*!40000 ALTER TABLE `Play` DISABLE KEYS */;
251 LOCK TABLES `Play` WRITE;
252 UNLOCK TABLES;
253 /*!40000 ALTER TABLE `Play` ENABLE KEYS */;
254
255 --
256 -- Table structure for table `Score`
257 --
258
259 DROP TABLE IF EXISTS `Score`;
260 CREATE TABLE `Score` (
261   `id` int(11) NOT NULL auto_increment,
262   `create_date` timestamp NOT NULL default '0000-00-00 00:00:00',
263   `game_id` int(11) NOT NULL default '0',
264   `party` enum('re','contra') default NULL ,
265   `winner_id` int(11) default NULL ,
266   `looser_id` int(11) default NULL ,
267   `score` enum('120', 'call120','against120','90','call90','against90','made90',
268           '60','call60','against60','made60','30','call30','against30','made30',
269           '0','call0','against0','made0',
270           'fox','karlchen','dulle','doko','againstqueens') default NULL,
271   UNIQUE KEY `id` (`id`),
272   KEY `game_id` (`game_id`)
273 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
274
275 --
276 -- Dumping data for table `Score`
277 --
278
279
280 /*!40000 ALTER TABLE `Score` DISABLE KEYS */;
281 LOCK TABLES `Score` WRITE;
282 UNLOCK TABLES;
283 /*!40000 ALTER TABLE `Score` ENABLE KEYS */;
284
285 --
286 -- Table structure for table `Trick`
287 --
288
289 DROP TABLE IF EXISTS `Trick`;
290 CREATE TABLE `Trick` (
291   `mod_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
292   `create_date` timestamp NOT NULL default '0000-00-00 00:00:00',
293   `id` int(11) NOT NULL auto_increment,
294   `game_id` int(11) NOT NULL default '0',
295   `winner`  tinyint(4) default NULL,
296   UNIQUE KEY `id` (`id`),
297   KEY `game_id` (`game_id`)
298 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
299
300 --
301 -- Dumping data for table `Trick`
302 --
303
304
305 /*!40000 ALTER TABLE `Trick` DISABLE KEYS */;
306 LOCK TABLES `Trick` WRITE;
307 UNLOCK TABLES;
308 /*!40000 ALTER TABLE `Trick` ENABLE KEYS */;
309
310 --
311 -- Table structure for table `User`
312 --
313
314 DROP TABLE IF EXISTS `User`;
315 CREATE TABLE `User` (
316   `id` int(11) NOT NULL auto_increment,
317   `fullname` varchar(64) default NULL,
318   `email` varchar(64) default NULL,
319   `password` varchar(32) default NULL,
320   `timezone` varchar(64) default 'Europe/London',
321   `last_login` timestamp NOT NULL default '0000-00-00 00:00:00',
322   `create_date` timestamp NOT NULL default '0000-00-00 00:00:00',
323   UNIQUE KEY `id` (`id`)
324 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
325
326 --
327 -- Dumping data for table `User`
328 --
329
330
331 /*!40000 ALTER TABLE `User` DISABLE KEYS */;
332 LOCK TABLES `User` WRITE;
333 UNLOCK TABLES;
334 /*!40000 ALTER TABLE `User` ENABLE KEYS */;
335
336 --
337 -- Table structure for table `User_Game_Prefs`
338 --
339
340 DROP TABLE IF EXISTS `User_Game_Prefs`;
341 CREATE TABLE `User_Game_Prefs` (
342   `id` int(11) NOT NULL auto_increment,
343   `user_id` int(11) NOT NULL default '0',
344   `game_id` int(11) NOT NULL default '0',
345   `pref_key` varchar(64) default NULL,
346   `value` varchar(64) default NULL,
347   UNIQUE KEY `id` (`id`),
348   KEY `user_id` (`user_id`)
349 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
350
351 --
352 -- Dumping data for table `User_Game_Prefs`
353 --
354
355
356 /*!40000 ALTER TABLE `User_Game_Prefs` DISABLE KEYS */;
357 LOCK TABLES `User_Game_Prefs` WRITE;
358 UNLOCK TABLES;
359 /*!40000 ALTER TABLE `User_Game_Prefs` ENABLE KEYS */;
360
361 --
362 -- Table structure for table `User_Prefs`
363 --
364
365 DROP TABLE IF EXISTS `User_Prefs`;
366 CREATE TABLE `User_Prefs` (
367   `id` int(11) NOT NULL auto_increment,
368   `user_id` int(11) NOT NULL default '0',
369   `pref_key` varchar(64) default NULL,
370   `value` varchar(64) default NULL,
371   UNIQUE KEY `id` (`id`),
372   KEY `user_id` (`user_id`)
373 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
374
375 --
376 -- Dumping data for table `User_Prefs`
377 --
378
379
380
381
382 /*!40000 ALTER TABLE `Recovery` DISABLE KEYS */;
383 LOCK TABLES `Recovery` WRITE;
384 UNLOCK TABLES;
385 /*!40000 ALTER TABLE `Recovery` ENABLE KEYS */;
386
387
388 DROP TABLE IF EXISTS `Recovery`;
389 CREATE TABLE `Recovery` (
390   `id` int(11) NOT NULL auto_increment,
391   `user_id` int(11) NOT NULL default '0',
392   `password` varchar(32) default NULL,
393   `create_date` timestamp NOT NULL default '0000-00-00 00:00:00',
394   UNIQUE KEY `id` (`id`)
395 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
396
397 --
398 -- Dumping data for table `Recovery`
399 --
400
401 /*!40000 ALTER TABLE `Recovery` DISABLE KEYS */;
402 LOCK TABLES `Recovery` WRITE;
403 UNLOCK TABLES;
404 /*!40000 ALTER TABLE `Recovery` ENABLE KEYS */;
405
406 /*!40000 ALTER TABLE `Reminder` DISABLE KEYS */;
407 LOCK TABLES `Reminder` WRITE;
408 UNLOCK TABLES;
409 /*!40000 ALTER TABLE `Reminder` ENABLE KEYS */;
410
411 DROP TABLE IF EXISTS `Reminder`;
412 CREATE TABLE `Reminder` (
413   `id` int(11) NOT NULL auto_increment,
414   `user_id` int(11) NOT NULL default '0',
415   `game_id` int(11) NOT NULL default '0',
416   `create_date` timestamp NOT NULL default '0000-00-00 00:00:00',
417   UNIQUE KEY `id` (`id`)
418 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
419
420 --
421 -- Dumping data for table `Reminder`
422 --
423
424 /*!40000 ALTER TABLE `Reminder` DISABLE KEYS */;
425 LOCK TABLES `Reminder` WRITE;
426 UNLOCK TABLES;
427 /*!40000 ALTER TABLE `Reminder` ENABLE KEYS */;
428
429
430 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
431 /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
432 /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
433 /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
434 /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
435 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
436