Beispiel #1
0
        private void compareColumns(Table expected, Table actual, IEnumerable <TableColumn> changedColumns)
        {
            foreach (var expectedColumn in changedColumns)
            {
                var actualColumn = actual.ColumnFor(expectedColumn.Name);
                var actualType   = TypeMappings.ConvertSynonyms(actualColumn.Type);
                var expectedType = TypeMappings.ConvertSynonyms(expectedColumn.Type);

                // check for altered column type which can be auto converted
                if (actualType.EqualsIgnoreCase(expectedType) ||
                    !TypeMappings.CanAutoConvertType(actualType, expectedType))
                {
                    continue;
                }

                AlteredColumnTypes.Add(expectedColumn.AlterColumnTypeSql(expected));
                AlteredColumnTypeRollbacks.Add(actualColumn.AlterColumnTypeSql(actual));
            }
        }