-
Notifications
You must be signed in to change notification settings - Fork 0
/
dbmodel.sql
78 lines (62 loc) · 2.72 KB
/
dbmodel.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
-- ------
-- BGA framework: © Gregory Isabelli <[email protected]> & Emmanuel Colin <[email protected]>
-- ForestShuffle implementation : © Emmanuel Albisser <[email protected]>
--
-- This code has been produced on the BGA studio platform for use on http://boardgamearena.com.
-- See http://en.boardgamearena.com/#!doc/Studio for more information.
-- -----
-- dbmodel.sql
-- This is the file where you are describing the database schema of your game
-- Basically, you just have to export from PhpMyAdmin your table structure and copy/paste
-- this export here.
-- Note that the database itself and the standard tables ("global", "stats", "gamelog" and "player") are
-- already created and must not be created here
-- Note: The database schema is created from this file when the game starts. If you modify this file,
-- you have to restart a game to see your changes in database.
-- Example 1: create a standard "card" table to be used with the "Deck" tools (see example game "hearts"):
-- CREATE TABLE IF NOT EXISTS `card` (
-- `card_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-- `card_type` varchar(16) NOT NULL,
-- `card_type_arg` int(11) NOT NULL,
-- `card_location` varchar(16) NOT NULL,
-- `card_location_arg` int(11) NOT NULL,
-- PRIMARY KEY (`card_id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- Example 2: add a custom field to the standard "player" table
-- ALTER TABLE `player` ADD `player_my_custom_field` INT UNSIGNED NOT NULL DEFAULT '0';
CREATE TABLE IF NOT EXISTS `cards` (
`card_id` int(5) NOT NULL AUTO_INCREMENT,
`card_state` int(10) DEFAULT 0,
`card_location` varchar(32) NOT NULL,
`extra_datas` JSON NULL,
`tree` int(5) NOT NULL,
`position` varchar(32) NULL,
PRIMARY KEY (`card_id`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
-- ALTER player TABLE --
ALTER TABLE `player`
ADD `pendingAction` JSON NULL;
-- CORE TABLES --
CREATE TABLE IF NOT EXISTS `global_variables` (
`name` varchar(255) NOT NULL,
`value` JSON,
PRIMARY KEY (`name`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE IF NOT EXISTS `user_preferences` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`player_id` int(10) NOT NULL,
`pref_id` int(10) NOT NULL,
`pref_value` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE IF NOT EXISTS `log` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`move_id` int(10) NOT NULL,
`table` varchar(32) NOT NULL,
`primary` varchar(32) NOT NULL,
`type` varchar(32) NOT NULL,
`affected` JSON,
PRIMARY KEY (`id`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
ALTER TABLE `gamelog`
ADD `cancel` TINYINT(1) NOT NULL DEFAULT 0;