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); } }