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