[Adapdev-commits] Adapdev/src/Adapdev.Data/Schema CompareDatabaseSchemas.cs,1.1,1.2
Status: Beta
Brought to you by:
intesar66
From: jhbate <jh...@us...> - 2005-11-15 10:30:45
|
Update of /cvsroot/adapdev/Adapdev/src/Adapdev.Data/Schema In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3421/src/Adapdev.Data/Schema Modified Files: CompareDatabaseSchemas.cs Log Message: marks redundant columns Index: CompareDatabaseSchemas.cs =================================================================== RCS file: /cvsroot/adapdev/Adapdev/src/Adapdev.Data/Schema/CompareDatabaseSchemas.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CompareDatabaseSchemas.cs 6 Nov 2005 09:44:09 -0000 1.1 --- CompareDatabaseSchemas.cs 15 Nov 2005 10:30:36 -0000 1.2 *************** *** 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,60 ---- } } } ! ! /// <summary> /// Iterate through the ColumnSchema's for a TableSchema and update properties that are rewritable from the Database Schema *************** *** 78,81 **** --- 84,119 ---- } } + markRedundantColumns(table.Name); + } + + /// <summary> + /// Mark a column that no longer exits in the DB schema but is in our saved schema + /// </summary> + /// <param name="tableToUpdate">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; + } + } } |