loginToken varchar,
loginTime datetime,
sessionToken varchar,
+ created datetime,
notify boolean
);
create table Problems (
id integer primary key,
added datetime,
+ fen varchar,
uid integer,
vid integer,
- fen varchar,
- instructions text,
+ instruction text,
solution text,
foreign key (uid) references Users(id),
foreign key (vid) references Variants(id)
);
--- All the following tables are for correspondance play only
--- (Live games are stored only in browsers)
+create table News (
+ id integer primary key,
+ uid integer,
+ added datetime,
+ content text,
+ foreign key (uid) references Users(id)
+);
create table Challenges (
id integer primary key,
uid integer,
target integer,
vid integer,
+ randomness integer,
fen varchar,
- timeControl varchar,
+ cadence varchar,
foreign key (uid) references Users(id),
foreign key (vid) references Variants(id)
);
vid integer,
fenStart varchar, --initial state
fen varchar, --current state
- score varchar,
- mainTime integer,
- addTime integer,
+ score varchar default '*',
+ scoreMsg varchar,
+ cadence varchar,
+ randomness integer, --for rematch
+ created datetime,
+ drawOffer character default '',
+ rematchOffer character default '',
+ deletedByWhite boolean,
+ deletedByBlack boolean,
foreign key (vid) references Variants(id)
);
+create table Chats (
+ gid integer,
+ name varchar,
+ msg varchar,
+ added datetime
+);
+
-- Store informations about players in a corr game
create table Players (
gid integer,
uid integer,
color character,
- rtime integer, --remaining time in milliseconds
foreign key (gid) references Games(id),
foreign key (uid) references Users(id)
);
create table Moves (
gid integer,
- move varchar,
- message varchar,
+ squares varchar, --description, appear/vanish/from/to
played datetime, --when was this move played?
idx integer, --index of the move in the game
- color character, --required for e.g. Marseillais Chess
foreign key (gid) references Games(id)
);