X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=server%2Fdb%2Fcreate.sql;h=d18a3105ada0dc22b3b33b3a4e09e5fed85ab9ae;hb=dcd68c4108412f45b8ce119ae80ce8f6e296800b;hp=936992ce3289d0130dc627ef2eb081bb2a7f0014;hpb=625022fdcf750f0aff8fcd699f7e9b89730e1d10;p=vchess.git diff --git a/server/db/create.sql b/server/db/create.sql index 936992ce..d18a3105 100644 --- a/server/db/create.sql +++ b/server/db/create.sql @@ -1,86 +1,72 @@ -- Database should be in this folder, and named 'vchess.sqlite' create table Variants ( - id integer primary key, - name varchar unique, - description text + id integer primary key, + name varchar unique, + description text ); create table Users ( - id integer primary key, - name varchar unique, - email varchar unique, - loginToken varchar, - loginTime datetime, - sessionToken varchar, - notify boolean -); - -create table Problems ( - id integer primary key, - added datetime, - uid integer, - vid integer, - fen varchar, - instructions text, - solution text, - foreign key (uid) references Users(id), - foreign key (vid) references Variants(id) + id integer primary key, + name varchar unique, + email varchar unique, + loginToken varchar, + loginTime datetime, + sessionToken varchar, + created datetime, + notify boolean ); -- All the following tables are for correspondance play only --- (Live games are stored only in browsers) +-- (Live games are stored in browser) create table Challenges ( - id integer primary key, - added datetime, - uid integer, - vid integer, - nbPlayers integer, - fen varchar, - mainTime integer, - addTime integer, - foreign key (uid) references Users(id), - foreign key (vid) references Variants(id) + id integer primary key, + added datetime, + uid integer, + target integer, + vid integer, + fen varchar, + timeControl varchar, + foreign key (uid) references Users(id), + foreign key (vid) references Variants(id) ); --- Store informations about players who accept a challenge -create table WillPlay ( - cid integer, - uid integer, - foreign key (cid) references Challenges(id), - foreign key (uid) references Users(id) +create table Games ( + id integer primary key, + vid integer, + fenStart varchar, --initial state + fen varchar, --current state + score varchar, + scoreMsg varchar, + timeControl varchar, + created datetime, --used only for DB cleaning + drawOffer boolean, + 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, - mainTime integer, - addTime integer, - 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) + gid integer, + uid integer, + color character, + foreign key (gid) references Games(id), + foreign key (uid) references Users(id) ); create table Moves ( - gid integer, - move varchar, - message varchar, - 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) + gid integer, + squares varchar, --description, appear/vanish/from/to + played datetime, --when was this move played? + idx integer, --index of the move in the game + foreign key (gid) references Games(id) ); pragma foreign_keys = on;