Experimental update: preview corr move + allow deletion of any game
[vchess.git] / server / db / create.sql
index 11c3574..c9f5232 100644 (file)
@@ -13,23 +13,29 @@ create table Users (
   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 in browser)
+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,
@@ -37,23 +43,36 @@ create table Challenges (
   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)
 );
 
--- NOTE: no need for a "created" field, it's deduced from first move playing time
 create table Games (
   id integer primary key,
   vid integer,
   fenStart varchar, --initial state
   fen varchar, --current state
-  score varchar,
-  timeControl varchar,
+  score varchar default '*',
+  scoreMsg varchar,
+  cadence varchar,
+  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,
@@ -66,7 +85,6 @@ create table Players (
 create table Moves (
   gid integer,
   squares varchar, --description, appear/vanish/from/to
-  message varchar,
   played datetime, --when was this move played?
   idx integer, --index of the move in the game
   foreign key (gid) references Games(id)