Finish Pacosako + add GameStat table to know how many live games are played
[vchess.git] / server / db / create.sql
index c05c87a..e4035a1 100644 (file)
@@ -3,7 +3,8 @@
 create table Variants (
   id integer primary key,
   name varchar unique,
-  description text
+  description text,
+  noProblems boolean
 );
 
 create table Users (
@@ -14,7 +15,8 @@ create table Users (
   loginTime datetime,
   sessionToken varchar,
   created datetime,
-  notify boolean
+  notify boolean,
+  bio text default ''
 );
 
 create table Problems (
@@ -29,37 +31,46 @@ create table Problems (
   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,
   added datetime,
   uid integer,
   target integer,
   vid integer,
+  randomness integer,
   fen 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,
+  white integer,
+  black integer,
+  score varchar default '*',
   scoreMsg varchar,
   cadence varchar,
+  randomness integer, --for rematch
   created datetime,
-  drawOffer character,
-  foreign key (vid) references Variants(id)
+  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 (
@@ -69,15 +80,6 @@ create table Chats (
   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
@@ -86,4 +88,6 @@ create table Moves (
   foreign key (gid) references Games(id)
 );
 
+create index scoreIdx on Games(score);
+
 pragma foreign_keys = on;