public DbInterface() { _campaignDb = new SqLiteDb(Properties.Settings.Default.CampaignDatabaseName); _mapDb = new SqLiteDb(Properties.Settings.Default.MapDatabaseName); Party = new DbParty(this, _campaignDb); Session = new DbSession(this, _campaignDb); Hexes = new DbHex(this, _mapDb); HexConnections = new DbHexConnection(this, _mapDb); DbUpdater.CheckForCampaignDbSchemaUpdates(_campaignDb, Party, Session); DbUpdater.CheckForMapDbSchemaUpdates(_mapDb, Hexes, HexConnections); }
public static void CheckForMapDbSchemaUpdates(IDbInstance db, DbHex hexes, DbHexConnection hexConnections) { long version = db.GetVersion(); if (version == 0) { db.CreateTables(new IDbModule[] { hexes, hexConnections }); } else { if (version <= 1) { db.AlterAddColumn(hexes.TableName, DbHex.PlayerIcons, DbColumn.Text, true, "'0'"); } if (version <= 2) { db.AlterAddColumn(hexes.TableName, DbHex.FogOfWar, DbColumn.Integer, true, "0"); } } db.SetVersion(CurrentMapDbVersion); }