public static void Setup()
{
/*
CREATE TABLE available_cheevos
(
ID int NOT NULL,
Title varchar(255) NOT NULL,
Description varchar(1024) NOT NULL,
Category varchar(255) NOT NULL,
Points int NOT NULL,
CreatedTime datetime NOT NULL,
PRIMARY KEY(Cheevo_Id)
)
*/
/*
CREATE TABLE popped_cheevos
(
Pop_Id int NOT NULL,
ProposedTime datetime NOT NULL,
AwardedTime datetime,
User varchar(255) NOT NULL,
Cheevo_Id int NOT NULL,
FirstModerator varchar(255),
SecondModerator varchar(255),
PRIMARY KEY(Pop_Id),
FOREIGN KEY(Cheevo_Id) REFERENCES available_cheevos(Cheevo_Id)
)
*/
// Define the SQL Create table statement
const string createACTable = "CREATE TABLE [available_cheevos] (ID INTEGER primary key, Title TEXT NOT NULL, Description TEXT NOT NULL, Category TEXT NOT NULL, Points int NOT NULL, CreatedTime INTEGER default current_timestamp, UNIQUE (Title))";
const string createPCTable = "CREATE TABLE [popped_cheevos] (ID INTEGER primary key, CheevoID int NOT NULL, User TEXT NOT NULL, ProposedTime INTEGER NOT NULL, AwardedTime INTEGER , FirstMod TEXT NOT NULL, SecondMod TEXT, FOREIGN KEY(CheevoID) REFERENCES available_cheevos(ID) )";
lock (sqliteCon)
{
sqliteCon.Open();
using (SQLiteTransaction sqlTransaction = sqliteCon.BeginTransaction())
using (SQLiteCommand createACCommand = new SQLiteCommand(createACTable, sqliteCon, sqlTransaction))
using (SQLiteCommand createPCCommand = new SQLiteCommand(createPCTable, sqliteCon, sqlTransaction))
{
createACCommand.ExecuteNonQuery();
createPCCommand.ExecuteNonQuery();
sqlTransaction.Commit();
}
sqliteCon.Close();
}
}