You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.9 KiB
45 lines
1.9 KiB
using OpenDBDiff.Schema.Model;
|
|
using OpenDBDiff.Schema.SQLServer.Generates.Model;
|
|
|
|
namespace OpenDBDiff.Schema.SQLServer.Generates.Compare
|
|
{
|
|
internal class CompareTableType : CompareBase<TableType>
|
|
{
|
|
protected override void DoUpdate<Root>(SchemaList<TableType, Root> originFields, TableType node)
|
|
{
|
|
if (node.Status != ObjectStatus.Drop)
|
|
{
|
|
TableType tablaOriginal = originFields[node.FullName];
|
|
(new CompareColumns()).GenerateDifferences<TableType>(tablaOriginal.Columns, node.Columns);
|
|
(new CompareConstraints()).GenerateDifferences<TableType>(tablaOriginal.Constraints, node.Constraints);
|
|
(new CompareIndexes()).GenerateDifferences<TableType>(tablaOriginal.Indexes, node.Indexes);
|
|
}
|
|
}
|
|
|
|
/*public static void GenerateDifferences(SchemaList<TableType, Database> originTables, SchemaList<TableType, Database> destinationTables)
|
|
{
|
|
MarkDrop(originTables, destinationTables);
|
|
|
|
foreach (TableType node in destinationTables)
|
|
{
|
|
if (!originTables.Exists(node.FullName))
|
|
{
|
|
node.Status = ObjectStatusType.CreateStatus;
|
|
node.Parent = originTables.Parent;
|
|
originTables.Add(node);
|
|
}
|
|
else
|
|
{
|
|
if (node.Status != ObjectStatusType.DropStatus)
|
|
{
|
|
TableType tablaOriginal = originTables[node.FullName];
|
|
CompareColumns.GenerateDifferences<TableType>(tablaOriginal.Columns, node.Columns);
|
|
CompareConstraints.GenerateDifferences<TableType>(tablaOriginal.Constraints, node.Constraints);
|
|
CompareIndexes.GenerateDifferences(tablaOriginal.Indexes, node.Indexes);
|
|
}
|
|
}
|
|
}
|
|
}*/
|
|
}
|
|
}
|