Experimental news notification system + fix Eightpieces variant
[vchess.git] / server / db / create.sql
index 4f7b547..5aba8ff 100644 (file)
@@ -14,11 +14,29 @@ create table Users (
   loginTime datetime,
   sessionToken varchar,
   created datetime,
-  notify boolean
+  notify boolean,
+  newsRead datetime
 );
 
--- 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 News (
+  id integer primary key,
+  uid integer,
+  added datetime,
+  content text,
+  foreign key (uid) references Users(id)
+);
 
 create table Challenges (
   id integer primary key,
@@ -26,29 +44,33 @@ 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,
-  created datetime, --used only for DB cleaning
-  drawOffer boolean,
+  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,
-  sid varchar,
   msg varchar,
   added datetime
 );