private static void UpdateToVersion2014_07_17(CruiseDatastore db) { var startVersion = db.DatabaseVersion; try { db.BeginTransaction(); db.AddField("VolumeEquation", new ColumnInfo("MerchModFlag", "INTEGER") { Default = "0" }); db.AddField("SampleGroupStats", new ColumnInfo("ReconPlots", "INTEGER") { Default = "0" }); db.AddField("SampleGroupStats", new ColumnInfo("ReconTrees", "INTEGER") { Default = "0" }); SetDatabaseVersion(db, "2014.07.17"); db.CommitTransaction(); } catch (Exception e) { db.RollbackTransaction(); throw new SchemaUpdateException(startVersion, "2014.07.17", e); } }
private static void UpdateToVersion2015_08_19(CruiseDatastore db) { var startVersion = db.DatabaseVersion; var tavCols = db.GetTableInfo("TreeAuditValue"); bool hasErrorMessageCol = false; foreach (ColumnInfo col in tavCols) { if (col.Name == "ErrorMessage") { hasErrorMessageCol = true; break; } } try { db.BeginTransaction(); if (!hasErrorMessageCol) { db.AddField("TreeAuditValue", new ColumnInfo("ErrorMessage", "TEXT")); } SetDatabaseVersion(db, "2015.08.19"); db.CommitTransaction(); } catch (Exception e) { db.RollbackTransaction(); throw new SchemaUpdateException(startVersion, "2015.08.19", e); } }
public static void UpdateToVersion2015_08_03(CruiseDatastore db) { var startVersion = db.DatabaseVersion; try { db.BeginTransaction(); db.AddField("Plot", new ColumnInfo("Plot_GUID", "TEXT")); db.AddField("Tree", new ColumnInfo("Tree_GUID", "TEXT")); db.AddField("Log", new ColumnInfo("Log_GUID", "TEXT")); db.AddField("Stem", new ColumnInfo("Stem_GUID", "TEXT")); db.AddField("TreeEstimate", new ColumnInfo("TreeEstimate_GUID", "TEXT")); SetDatabaseVersion(db, "2015.08.03"); db.CommitTransaction(); } catch (Exception e) { db.RollbackTransaction(); throw new SchemaUpdateException(startVersion, "2015.08.03", e); } }
private static void UpdateToVersion2014_07_07(CruiseDatastore db) { var startVersion = db.DatabaseVersion; try { db.BeginTransaction(); db.AddField("SampleGroup", new ColumnInfo("MinKPI", "INTEGER") { Default = "0" }); db.AddField("SampleGroup", new ColumnInfo("MaxKPI", "INTEGER") { Default = "0" }); SetDatabaseVersion(db, "2014.07.07"); db.CommitTransaction(); } catch (Exception e) { db.RollbackTransaction(); throw new SchemaUpdateException(startVersion, "2014.07.07", e); } }
private static void UpdateToVersion2014_07_02(CruiseDatastore db) { var startVersion = db.DatabaseVersion; try { db.BeginTransaction(); db.AddField("LogStock", new ColumnInfo("BoardUtil", "REAL") { Default = "0.0" }); db.AddField("LogStock", new ColumnInfo("CubicUtil", "REAL") { Default = "0.0" }); SetDatabaseVersion(db, "2014.07.02"); db.CommitTransaction(); } catch (Exception e) { db.RollbackTransaction(); throw new SchemaUpdateException(startVersion, "2014.07.02", e); } }
private static void UpdateToVersion2014_09_02(CruiseDatastore db) { var startVersion = db.DatabaseVersion; try { db.BeginTransaction(); db.AddField("SampleGroup", new ColumnInfo("TallyMethod", "TEXT")); SetDatabaseVersion(db, "2014.09.02"); db.CommitTransaction(); } catch (Exception e) { db.RollbackTransaction(); throw new SchemaUpdateException(startVersion, "2014.09.02", e); } }
private static void UpdateToVersion2014_08_20(CruiseDatastore db) { var startVersion = db.DatabaseVersion; try { db.BeginTransaction(); db.AddField("VolumeEquation", new ColumnInfo("EvenOddSegment", "INTEGER") { Default = "0" }); SetDatabaseVersion(db, "2014.08.20"); db.CommitTransaction(); } catch (Exception e) { db.RollbackTransaction(); throw new SchemaUpdateException(startVersion, "2014.08.20", e); } }
private static void UpdateToVersion2014_06_04(CruiseDatastore db) { var startVersion = db.DatabaseVersion; try { db.BeginTransaction(); db.AddField("Sale", new ColumnInfo("LogGradingEnabled", "BOOLEAN") { Default = "0" }); SetDatabaseVersion(db, "2014.06.04"); db.CommitTransaction(); } catch (Exception e) { db.RollbackTransaction(); throw new SchemaUpdateException(startVersion, "2014.06.04", e); } }
public static void Update_Impl(CruiseDatastore db) { var dbVersion = db.DatabaseVersion; if (string.IsNullOrWhiteSpace(dbVersion)) { throw new UpdateException("unable to determin file version"); } if (!CheckCanUpdate(dbVersion)) { throw new IncompatibleSchemaException($"The version of this cruise file ({dbVersion}) is not compatible with the version of the software you are using." + "Go to github.com/FMSC-Measurements to get the latest version of our software.", null); } if (dbVersion.StartsWith("2013") || dbVersion == "2014.01.21") { throw new IncompatibleSchemaException($"The version of this cruise file ({dbVersion}) is no longer supported." + "Go to github.com/FMSC-Measurements to get archived versions of our software.", null); } if (db.DatabaseVersion == "2014.03.12") { UpdateToVersion2014_06_04(db); } if (db.DatabaseVersion == "2014.06.04") { UpdateToVersion2014_07_02(db); } if (db.DatabaseVersion == "2014.07.02") { UpdateToVersion2014_07_07(db); } if (db.DatabaseVersion == "2014.07.07") { UpdateToVersion2014_07_17(db); } if (db.DatabaseVersion == "2014.07.17") { UpdateToVersion2014_07_24(db); } if (db.DatabaseVersion == "2014.07.24") { UpdateToVersion2014_08_20(db); } if (db.DatabaseVersion == "2014.08.20") { UpdateToVersion2014_09_02(db); } if (db.DatabaseVersion == "2014.09.02") { UpdateToVersion2014_10_01(db); } if (db.DatabaseVersion == "2014.10.01" || db.DatabaseVersion == "2015.01.05") { UpdateToVersion2015_04_28(db); } if (db.DatabaseVersion == "2015.04.28") { UpdateToVersion2015_08_03(db); } if (db.DatabaseVersion == "2015.06.01") { SetDatabaseVersion(db, "2015.08.03"); } if (db.DatabaseVersion == "2015.08.03") { UpdateToVersion2015_08_19(db); } if (db.DatabaseVersion == "2015.08.19") { UpdateToVersion2015_09_01(db); } if (db.DatabaseVersion == "2015.09.01" || db.DatabaseVersion == "2.0.0" || db.DatabaseVersion == "2.1.0") { UpdateTo_2_1_1(db); } if (db.DatabaseVersion.StartsWith("2.1.1")) { UpdateTo_2_1_2(db); } if (db.DatabaseVersion.StartsWith("2.1.2")) { UpdateTo_2_2_0(db); } // files updated to 2.5.0 may have corrupted data // attempt to patch them and set version to 2.5.1.1 if (db.DatabaseVersion.StartsWith("2.5.0")) { FixVersion_2_5_0(db); } if (db.DatabaseVersion.StartsWith("2.2.")) { UpdateTo_2_5_1(db); } if (db.DatabaseVersion.StartsWith("2.5.")) { UpdateTo_2_6_1(db); } if (db.DatabaseVersion.StartsWith("2.6.")) { UpdateTo_2_7_0(db); } if (db.DatabaseVersion == "2.7.0") { UpdateTo_2_7_1(db); } if (db.DatabaseVersion == "2.7.1" || db.DatabaseVersion == "2.7.3") { UpdateTo_2_7_3(db); } if (db.CheckFieldExists("Stratum", "HotKey") == false) { db.AddField("Stratum", new ColumnInfo("HotKey", "TEXT")); } }