[Adapdev-commits] Adapdev/src/Adapdev.Data/Schema CompareDatabaseSchemas.cs,1.6,1.7 SchemaConstants.
Status: Beta
Brought to you by:
intesar66
From: Sean M. <int...@us...> - 2005-11-26 09:09:08
|
Update of /cvsroot/adapdev/Adapdev/src/Adapdev.Data/Schema In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29386/src/Adapdev.Data/Schema Modified Files: CompareDatabaseSchemas.cs SchemaConstants.cs Log Message: Restoring some more hosed files Index: SchemaConstants.cs =================================================================== RCS file: /cvsroot/adapdev/Adapdev/src/Adapdev.Data/Schema/SchemaConstants.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** SchemaConstants.cs 16 Nov 2005 07:01:48 -0000 1.6 --- SchemaConstants.cs 26 Nov 2005 09:08:59 -0000 1.7 *************** *** 9,12 **** --- 9,13 ---- { public static readonly string SCHEMAPATH = System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData); + public static readonly string REDUNDANT = "ZZZZ"; } } Index: CompareDatabaseSchemas.cs =================================================================== RCS file: /cvsroot/adapdev/Adapdev/src/Adapdev.Data/Schema/CompareDatabaseSchemas.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CompareDatabaseSchemas.cs 16 Nov 2005 07:01:48 -0000 1.6 --- CompareDatabaseSchemas.cs 26 Nov 2005 09:08:59 -0000 1.7 *************** *** 25,28 **** --- 25,34 ---- /// <returns>DatabaseSchema - the updated DatabaseSchema</returns> public DatabaseSchema Compare() + { + findAndUpdateTables(); + return _savedDatabaseSchema; + } + + private void findAndUpdateTables() { foreach(TableSchema table in _databaseSchema.SortedTables.Values) *************** *** 40,44 **** } } ! } findAndUpdateColumns(table); } --- 46,50 ---- } } ! } findAndUpdateColumns(table); } *************** *** 48,54 **** } } ! return _savedDatabaseSchema; } ! /// <summary> /// Iterate through the ColumnSchema's for a TableSchema and update properties that are rewritable from the Database Schema --- 54,61 ---- } } ! this.markRedundantTables(); } ! ! /// <summary> /// Iterate through the ColumnSchema's for a TableSchema and update properties that are rewritable from the Database Schema *************** *** 78,81 **** --- 85,120 ---- } } + markRedundantColumns(table.Name); + } + + /// <summary> + /// Mark a column that no longer exits in the DB schema but is in our saved schema + /// </summary> + /// <param name="tableNameToUpdate">String</param> + private void markRedundantColumns(String tableNameToUpdate) + { + foreach(ColumnSchema column in this._savedDatabaseSchema.GetTable(tableNameToUpdate).SortedColumns.Values) + { + if(null == this._databaseSchema.GetTable(tableNameToUpdate).GetColumn(column.Name)) + { + this._savedDatabaseSchema.GetTable(tableNameToUpdate).GetColumn(column.Name).IsActive = false; + this._savedDatabaseSchema.GetTable(tableNameToUpdate).GetColumn(column.Name).Name = SchemaConstants.REDUNDANT + column.Name; + } + } + } + + /// <summary> + /// Mark a table that no longer exits in the DB schema but is in our saved schema + /// </summary> + private void markRedundantTables() + { + foreach(TableSchema table in this._savedDatabaseSchema.SortedTables.Values) + { + if(null == this._databaseSchema.GetTable(table.Name)) + { + this._savedDatabaseSchema.GetTable(table.Name).IsActive = false; + this._savedDatabaseSchema.GetTable(table.Name).Name = SchemaConstants.REDUNDANT + table.Name; + } + } } *************** *** 117,119 **** } ! } --- 156,158 ---- } ! } \ No newline at end of file |