This commit is contained in:
2018-09-18 17:20:57 +00:00
parent 09c3d86e41
commit 32a358b96c
4 changed files with 62 additions and 3 deletions

View File

@@ -22,8 +22,8 @@ namespace AyaNova.Util
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::PrepareDatabaseForSeeding WHEN NEW TABLES ADDED!!!!
private const int DESIRED_SCHEMA_LEVEL = 9;
internal const long EXPECTED_COLUMN_COUNT = 90;
internal const long EXPECTED_INDEX_COUNT = 18;
internal const long EXPECTED_COLUMN_COUNT = 97;
internal const long EXPECTED_INDEX_COUNT = 20;
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::PrepareDatabaseForSeeding WHEN NEW TABLES ADDED!!!!
/////////////////////////////////////////////////////////////////
@@ -115,7 +115,8 @@ namespace AyaNova.Util
//************* SCHEMA UPDATES ******************
//////////////////////////////////////////////////
// USER table locale text and default data
// FOUNDATIONAL TABLES
//
if (currentSchema < 2)
{
LogUpdateMessage(log);
@@ -129,6 +130,15 @@ namespace AyaNova.Util
// exec("CREATE INDEX ayid_idx ON aevent (ayid);");
// exec("CREATE INDEX aytype_idx ON aevent (aytype);");
//Add the search key and dictionary tables
//TODO: Indexes determined through load testing and experimentation
//Too many indexes or unnecessary ones would be bad because this table is hit on every save / update of an object and would slow those ops
//too little is bad if search takes a dogs age to find anything
exec("CREATE TABLE asearchdictionary (id BIGSERIAL PRIMARY KEY, word varchar(255) not null)");
// exec("CREATE UNIQUE INDEX tagname_idx ON atag (name);");
exec("CREATE TABLE asearchkey (id BIGSERIAL PRIMARY KEY, wordid bigint not null REFERENCES asearchdictionary (id), objectid bigint not null, objecttype integer not null, inname bool not null)");
//create locale text tables
exec("CREATE TABLE alocale (id BIGSERIAL PRIMARY KEY, ownerid bigint not null, name varchar(255) not null, stock bool)");
exec("CREATE UNIQUE INDEX localename_idx ON alocale (name)");
@@ -138,6 +148,9 @@ namespace AyaNova.Util
//Load the default LOCALES
AyaNova.Biz.PrimeData.PrimeLocales(ct);
//Add user table
exec("CREATE TABLE auser (id BIGSERIAL PRIMARY KEY, ownerid bigint not null, active bool not null, name varchar(255) not null, " +
"login text not null, password text not null, salt text not null, roles integer not null, localeid bigint not null REFERENCES alocale (id), " +