Draft of problems section
[vchess.git] / server / db / create.sql
... / ...
CommitLineData
1-- Database should be in this folder, and named 'vchess.sqlite'
2
3create table Variants (
4 id integer primary key,
5 name varchar unique,
6 description text
7);
8
9create table Users (
10 id integer primary key,
11 name varchar unique,
12 email varchar unique,
13 loginToken varchar,
14 loginTime datetime,
15 sessionToken varchar,
16 created datetime,
17 notify boolean
18);
19
20create table Problems (
21 id integer primary key,
22 added datetime,
23 uid integer,
24 vid integer,
25 instruction text,
26 solution text,
27 foreign key (uid) references Users(id),
28 foreign key (vid) references Variants(id)
29);
30
31create table Challenges (
32 id integer primary key,
33 added datetime,
34 uid integer,
35 target integer,
36 vid integer,
37 fen varchar,
38 cadence varchar,
39 foreign key (uid) references Users(id),
40 foreign key (vid) references Variants(id)
41);
42
43create table Games (
44 id integer primary key,
45 vid integer,
46 fenStart varchar, --initial state
47 fen varchar, --current state
48 score varchar,
49 scoreMsg varchar,
50 cadence varchar,
51 created datetime,
52 drawOffer character,
53 foreign key (vid) references Variants(id)
54);
55
56create table Chats (
57 gid integer,
58 name varchar,
59 msg varchar,
60 added datetime
61);
62
63-- Store informations about players in a corr game
64create table Players (
65 gid integer,
66 uid integer,
67 color character,
68 foreign key (gid) references Games(id),
69 foreign key (uid) references Users(id)
70);
71
72create table Moves (
73 gid integer,
74 squares varchar, --description, appear/vanish/from/to
75 played datetime, --when was this move played?
76 idx integer, --index of the move in the game
77 foreign key (gid) references Games(id)
78);
79
80pragma foreign_keys = on;