Skip to content

Commit 20c52c6

Browse files
Merge pull request #119 from dotnetprojects/sql-server-default-values
Sql server default values
2 parents 1e1d076 + f534787 commit 20c52c6

File tree

3 files changed

+11
-16
lines changed

3 files changed

+11
-16
lines changed

src/Migrator/Providers/Impl/Oracle/OracleDialect.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System;
22
using System.Data;
3-
using System.Linq;
43
using DotNetProjects.Migrator.Framework;
54

65
namespace DotNetProjects.Migrator.Providers.Impl.Oracle;

src/Migrator/Providers/Impl/Oracle/OracleTransformationProvider.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -558,21 +558,24 @@ public override Column[] GetColumns(string table)
558558

559559
if (!string.IsNullOrWhiteSpace(dataDefaultString))
560560
{
561+
// This is only necessary because older versions of this migrator added single quotes for numerics.
562+
var singleQuoteStrippedString = dataDefaultString.Replace("'", "");
563+
561564
if (column.Type == DbType.Int16 || column.Type == DbType.Int32 || column.Type == DbType.Int64)
562565
{
563-
column.DefaultValue = long.Parse(dataDefaultString, CultureInfo.InvariantCulture);
566+
column.DefaultValue = long.Parse(singleQuoteStrippedString, CultureInfo.InvariantCulture);
564567
}
565568
else if (column.Type == DbType.Double)
566569
{
567-
column.DefaultValue = double.Parse(dataDefaultString, CultureInfo.InvariantCulture);
570+
column.DefaultValue = double.Parse(singleQuoteStrippedString, CultureInfo.InvariantCulture);
568571
}
569572
else if (column.Type == DbType.Single)
570573
{
571-
column.DefaultValue = float.Parse(dataDefaultString, CultureInfo.InvariantCulture);
574+
column.DefaultValue = float.Parse(singleQuoteStrippedString, CultureInfo.InvariantCulture);
572575
}
573576
else if (column.Type == DbType.Decimal)
574577
{
575-
column.DefaultValue = decimal.Parse(dataDefaultString, CultureInfo.InvariantCulture);
578+
column.DefaultValue = decimal.Parse(singleQuoteStrippedString, CultureInfo.InvariantCulture);
576579
}
577580
else if (column.Type == DbType.Boolean)
578581
{

src/Migrator/Providers/TransformationProvider.cs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -538,19 +538,12 @@ public virtual bool ColumnExists(string table, string column)
538538

539539
public virtual bool ColumnExists(string table, string column, bool ignoreCase)
540540
{
541-
try
541+
if (ignoreCase)
542542
{
543-
if (ignoreCase)
544-
{
545-
return GetColumns(table).Any(col => col.Name.ToLower() == column.ToLower());
546-
}
547-
548-
return GetColumns(table).Any(col => col.Name == column);
549-
}
550-
catch (Exception)
551-
{
552-
return false;
543+
return GetColumns(table).Any(x => x.Name.Equals(column, StringComparison.OrdinalIgnoreCase));
553544
}
545+
546+
return GetColumns(table).Any(x => x.Name == column);
554547
}
555548

556549
public virtual void ChangeColumn(string table, Column column)

0 commit comments

Comments
 (0)