From c1522d5b033461aba3a11a3c198de0583fdcb496 Mon Sep 17 00:00:00 2001 From: Mohammad Dameer Date: Fri, 11 May 2018 22:08:52 +0300 Subject: [PATCH] Support byte[] column type with new test for generic create command method (#8050) --- .../DataMigration/SchemaBuilderTests.cs | 22 +++++++++++++++---- .../Data/Migration/Schema/SchemaUtils.cs | 6 +++-- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/Orchard.Tests/DataMigration/SchemaBuilderTests.cs b/src/Orchard.Tests/DataMigration/SchemaBuilderTests.cs index caac1b69c..237fe735e 100644 --- a/src/Orchard.Tests/DataMigration/SchemaBuilderTests.cs +++ b/src/Orchard.Tests/DataMigration/SchemaBuilderTests.cs @@ -1,5 +1,6 @@ using System; using System.Data; +using System.IO; using System.Linq; using Autofac; using NHibernate; @@ -13,13 +14,11 @@ using Orchard.Environment.Configuration; using Orchard.Environment.ShellBuilders.Models; using Orchard.FileSystems.AppData; using Orchard.Tests.ContentManagement; -using System.IO; using Orchard.Tests.Environment; using Orchard.Tests.FileSystems.AppData; -namespace Orchard.Tests.DataMigration -{ - [TestFixture] +namespace Orchard.Tests.DataMigration { + [TestFixture] public class SchemaBuilderTestsBase { private IContainer _container; private ISessionFactory _sessionFactory; @@ -100,6 +99,21 @@ namespace Orchard.Tests.DataMigration ); } + [Test] + public void GenericCreateCommandShouldBeHandled() { + _schemaBuilder + .CreateTable("User", table => table + .Column("Id", column => column.PrimaryKey().Identity()) + .Column("Firstname", column => column.WithLength(255)) + .Column("Lastname", column => column.WithLength(100).NotNull()) + .Column("SN", column => column.WithLength(40).Unique()) + .Column("Salary", column => column.WithPrecision(9).WithScale(2)) + .Column("Gender", column => column.WithDefault("")) + .Column("Identifier") + .Column("Photo", column => column.WithLength(2048)) + ); + } + [Test] public void DropTableCommandShouldBeHandled() { _schemaBuilder diff --git a/src/Orchard/Data/Migration/Schema/SchemaUtils.cs b/src/Orchard/Data/Migration/Schema/SchemaUtils.cs index 988551f18..a81548e4d 100644 --- a/src/Orchard/Data/Migration/Schema/SchemaUtils.cs +++ b/src/Orchard/Data/Migration/Schema/SchemaUtils.cs @@ -6,7 +6,7 @@ namespace Orchard.Data.Migration.Schema { [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", MessageId = "System.Enum.TryParse(System.String,System.Boolean,System.Data.DbType@)")] public static DbType ToDbType(Type type) { DbType dbType; - switch ( Type.GetTypeCode(type) ) { + switch (Type.GetTypeCode(type)) { case TypeCode.String: dbType = DbType.String; break; @@ -20,8 +20,10 @@ namespace Orchard.Data.Migration.Schema { dbType = DbType.Boolean; break; default: - if(type == typeof(Guid)) + if (type == typeof(Guid)) dbType = DbType.Guid; + else if (type == typeof(byte[])) + dbType = DbType.Binary; else Enum.TryParse(Type.GetTypeCode(type).ToString(), true, out dbType); break;