X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=server%2Fdb%2Fcreate.sql;h=248e5970335f473c1084b02ce374e743e4d4bdce;hp=a39307251f4a4f652752e347f1a8d76225dbbfd8;hb=eb2d61de8d569470fa329a484efe9bab420b2b82;hpb=58e7b94e6e1a8d5721b9211b45c40e65fc13f600 diff --git a/server/db/create.sql b/server/db/create.sql index a3930725..248e5970 100644 --- a/server/db/create.sql +++ b/server/db/create.sql @@ -3,7 +3,10 @@ create table Variants ( id integer primary key, name varchar unique, - description text + display varchar, + groupe integer, + description text, + noProblems boolean ); create table Users ( @@ -14,11 +17,21 @@ create table Users ( loginTime datetime, sessionToken varchar, created datetime, - notify boolean + notify boolean, + bio text default '' ); --- All the following tables are for correspondance play only --- (Live games are stored in browser) +create table Problems ( + id integer primary key, + added datetime, + fen varchar, + uid integer, + vid integer, + instruction text, + solution text, + foreign key (uid) references Users(id), + foreign key (vid) references Variants(id) +); create table Challenges ( id integer primary key, @@ -26,41 +39,49 @@ create table Challenges ( uid integer, target integer, vid integer, + options varchar, fen varchar, - timeControl varchar, + cadence varchar, foreign key (uid) references Users(id), foreign key (vid) references Variants(id) ); +create table GameStat ( + vid integer, + total integer default 0, + foreign key (vid) references Variants(id) +); + create table Games ( id integer primary key, vid integer, fenStart varchar, --initial state fen varchar, --current state - score varchar, - timeControl varchar, - created datetime, --used only for DB cleaning - drawOffer boolean, - foreign key (vid) references Variants(id) + white integer, + black integer, + score varchar default '*', + scoreMsg varchar, + cadence varchar, + options varchar, --for rematch + created datetime, + drawOffer character default '', + rematchOffer character default '', + deletedByWhite boolean, + deletedByBlack boolean, + chatReadWhite datetime, + chatReadBlack datetime, + foreign key (vid) references Variants(id), + foreign key (white) references Users(id), + foreign key (black) references Users(id) ); create table Chats ( gid integer, name varchar, - sid varchar, msg varchar, added datetime ); --- Store informations about players in a corr game -create table Players ( - gid integer, - uid integer, - color character, - foreign key (gid) references Games(id), - foreign key (uid) references Users(id) -); - create table Moves ( gid integer, squares varchar, --description, appear/vanish/from/to @@ -69,4 +90,6 @@ create table Moves ( foreign key (gid) references Games(id) ); +create index scoreIdx on Games(score); + pragma foreign_keys = on;