diff --git a/src/Migrator/Providers/Impl/Oracle/OracleDialect.cs b/src/Migrator/Providers/Impl/Oracle/OracleDialect.cs index 7c3a20a..0af6fd3 100644 --- a/src/Migrator/Providers/Impl/Oracle/OracleDialect.cs +++ b/src/Migrator/Providers/Impl/Oracle/OracleDialect.cs @@ -1,6 +1,5 @@ using System; using System.Data; -using System.Linq; using DotNetProjects.Migrator.Framework; namespace DotNetProjects.Migrator.Providers.Impl.Oracle; diff --git a/src/Migrator/Providers/Impl/Oracle/OracleTransformationProvider.cs b/src/Migrator/Providers/Impl/Oracle/OracleTransformationProvider.cs index 337250d..759228a 100644 --- a/src/Migrator/Providers/Impl/Oracle/OracleTransformationProvider.cs +++ b/src/Migrator/Providers/Impl/Oracle/OracleTransformationProvider.cs @@ -558,21 +558,24 @@ public override Column[] GetColumns(string table) if (!string.IsNullOrWhiteSpace(dataDefaultString)) { + // This is only necessary because older versions of this migrator added single quotes for numerics. + var singleQuoteStrippedString = dataDefaultString.Replace("'", ""); + if (column.Type == DbType.Int16 || column.Type == DbType.Int32 || column.Type == DbType.Int64) { - column.DefaultValue = long.Parse(dataDefaultString, CultureInfo.InvariantCulture); + column.DefaultValue = long.Parse(singleQuoteStrippedString, CultureInfo.InvariantCulture); } else if (column.Type == DbType.Double) { - column.DefaultValue = double.Parse(dataDefaultString, CultureInfo.InvariantCulture); + column.DefaultValue = double.Parse(singleQuoteStrippedString, CultureInfo.InvariantCulture); } else if (column.Type == DbType.Single) { - column.DefaultValue = float.Parse(dataDefaultString, CultureInfo.InvariantCulture); + column.DefaultValue = float.Parse(singleQuoteStrippedString, CultureInfo.InvariantCulture); } else if (column.Type == DbType.Decimal) { - column.DefaultValue = decimal.Parse(dataDefaultString, CultureInfo.InvariantCulture); + column.DefaultValue = decimal.Parse(singleQuoteStrippedString, CultureInfo.InvariantCulture); } else if (column.Type == DbType.Boolean) { diff --git a/src/Migrator/Providers/TransformationProvider.cs b/src/Migrator/Providers/TransformationProvider.cs index 94747d5..a994591 100644 --- a/src/Migrator/Providers/TransformationProvider.cs +++ b/src/Migrator/Providers/TransformationProvider.cs @@ -538,19 +538,12 @@ public virtual bool ColumnExists(string table, string column) public virtual bool ColumnExists(string table, string column, bool ignoreCase) { - try + if (ignoreCase) { - if (ignoreCase) - { - return GetColumns(table).Any(col => col.Name.ToLower() == column.ToLower()); - } - - return GetColumns(table).Any(col => col.Name == column); - } - catch (Exception) - { - return false; + return GetColumns(table).Any(x => x.Name.Equals(column, StringComparison.OrdinalIgnoreCase)); } + + return GetColumns(table).Any(x => x.Name == column); } public virtual void ChangeColumn(string table, Column column)