diff --git a/src/Libraries/Nop.Data/Extensions/FluentMigratorExtensions.cs b/src/Libraries/Nop.Data/Extensions/FluentMigratorExtensions.cs
index 81f9d6f88f8..4ab5dc404e7 100644
--- a/src/Libraries/Nop.Data/Extensions/FluentMigratorExtensions.cs
+++ b/src/Libraries/Nop.Data/Extensions/FluentMigratorExtensions.cs
@@ -1,9 +1,14 @@
using System.ComponentModel.DataAnnotations.Schema;
using System.Data;
+using System.Linq.Expressions;
using System.Reflection;
+using FluentMigrator.Builders.Alter;
using FluentMigrator.Builders.Alter.Table;
using FluentMigrator.Builders.Create;
using FluentMigrator.Builders.Create.Table;
+using FluentMigrator.Builders.Delete;
+using FluentMigrator.Builders.Schema;
+using FluentMigrator.Builders.Schema.Table;
using FluentMigrator.Infrastructure.Extensions;
using FluentMigrator.Model;
using FluentMigrator.Runner;
@@ -63,7 +68,7 @@ private static void DefineByOwnType(string columnName, Type propType, CreateTabl
/// The builder to add the database engine(s) to
/// The migration runner builder
public static IMigrationRunnerBuilder AddNopDbEngines(this IMigrationRunnerBuilder builder)
- {
+ {
if (!DataSettingsManager.IsDatabaseInstalled())
return builder.AddSqlServer().AddMySql5().AddPostgres92();
@@ -145,6 +150,124 @@ public static void TableFor(this ICreateExpressionRoot expressionRoot)
builder.RetrieveTableExpressions(type);
}
+ ///
+ /// Targets a specific column of the entity’s mapped table for an ALTER COLUMN operation,
+ /// resolving both table and column names using .
+ ///
+ /// The entity type mapped to the database table.
+ /// The root expression for an ALTER TABLE operation.
+ /// An expression selecting the entity property to alter.
+ ///
+ /// A fluent syntax interface for specifying the new column type
+ /// and additional ALTER COLUMN options.
+ ///
+ public static IAlterTableColumnAsTypeSyntax AlterColumnFor(this IAlterExpressionRoot expressionRoot, Expression> selector) where TEntity : BaseEntity
+ {
+ var tableName = NameCompatibilityManager.GetTableName(typeof(TEntity));
+ var propertyMemberExpression = selector.Body as MemberExpression
+ ?? (selector.Body as UnaryExpression)?.Operand as MemberExpression
+ ?? throw new ArgumentException("Selector must be a property expression.", nameof(selector));
+ var columnName = NameCompatibilityManager.GetColumnName(typeof(TEntity), propertyMemberExpression.Member.Name);
+ return expressionRoot.Table(tableName).AlterColumn(columnName);
+ }
+
+ ///
+ /// Deletes a column from the table mapped to the specified entity,
+ /// resolving the table name using .
+ ///
+ /// The entity type mapped to the database table.
+ /// The root delete expression.
+ /// The name of the column to delete.
+ public static void Column(this IDeleteExpressionRoot expressionRoot, string columnName) where TEntity : BaseEntity
+ {
+ var tableName = NameCompatibilityManager.GetTableName(typeof(TEntity));
+ expressionRoot.Column(columnName).FromTable(tableName);
+ }
+
+ ///
+ /// Determines whether the database table mapped to the specified entity exists,
+ /// resolving the table name using .
+ ///
+ /// The entity type mapped to the database table.
+ /// The root schema expression.
+ /// true if the table exists; otherwise, false.
+ public static bool TableExist(this ISchemaExpressionRoot expressionRoot) where TEntity : BaseEntity
+ {
+ var tableName = NameCompatibilityManager.GetTableName(typeof(TEntity));
+ return expressionRoot.Table(tableName).Exists();
+ }
+
+ ///
+ /// Checks whether a mapped column exists in the database table for the specified entity.
+ /// Resolves both the table name and column name using .
+ ///
+ /// The entity type mapped to the database table.
+ /// The root schema expression.
+ /// An expression selecting the entity property to check.
+ /// true if the column exists; otherwise, false.
+ public static bool ColumnExist(
+ this ISchemaExpressionRoot expressionRoot, Expression> selector) where TEntity : BaseEntity
+ {
+ var tableName = NameCompatibilityManager.GetTableName(typeof(TEntity));
+ var propertyMemberExpression = selector.Body as MemberExpression
+ ?? (selector.Body as UnaryExpression)?.Operand as MemberExpression
+ ?? throw new ArgumentException("Selector must be a property expression.", nameof(selector));
+ var columnName = NameCompatibilityManager.GetColumnName(typeof(TEntity), propertyMemberExpression.Member.Name);
+ return expressionRoot.Table(tableName).Column(columnName).Exists();
+ }
+
+ ///
+ /// Checks whether a mapped column exists in the database table for the specified entity.
+ /// Resolves both the table name and column name using .
+ ///
+ /// The entity type mapped to the database table.
+ /// The root schema expression.
+ /// The column name
+ /// true if the column exists; otherwise, false.
+ public static bool ColumnExist(
+ this ISchemaExpressionRoot expressionRoot, string columnName) where TEntity : BaseEntity
+ {
+ var tableName = NameCompatibilityManager.GetTableName(typeof(TEntity));
+ return expressionRoot.Table(tableName).Column(columnName).Exists();
+ }
+
+ ///
+ /// Targets the entity's mapped table for schema-related operations.
+ ///
+ /// The root expression for schema inspection
+ /// The entity type mapped to the database table
+ ///
+ /// A fluent syntax interface for performing schema operations
+ /// such as checking table or column existence.
+ ///
+ public static ISchemaTableSyntax TableFor(this ISchemaExpressionRoot expressionRoot) where TEntity : BaseEntity
+ {
+ var tableName = NameCompatibilityManager.GetTableName(typeof(TEntity));
+ return expressionRoot.Table(tableName);
+ }
+
+ ///
+ /// Adds a new column to the entity's mapped table for ALTER TABLE operations,
+ /// resolving the column name via .
+ ///
+ /// The entity type mapped to the database table
+ /// The alter table expression
+ /// An expression selecting the entity property
+ ///
+ /// A fluent syntax interface allowing further ALTER TABLE operations
+ /// on the specified column.
+ ///
+ public static IAlterTableColumnAsTypeSyntax AddColumnFor(
+ this IAlterExpressionRoot expressionRoot, Expression> selector) where TEntity : BaseEntity
+ {
+ var tableName = NameCompatibilityManager.GetTableName(typeof(TEntity));
+ var propertyMemberExpression = selector.Body as MemberExpression
+ ?? (selector.Body as UnaryExpression)?.Operand as MemberExpression
+ ?? throw new ArgumentException("Selector must be a property expression.", nameof(selector));
+ var columnName = NameCompatibilityManager.GetColumnName(typeof(TEntity), propertyMemberExpression.Member.Name);
+ return expressionRoot.Table(tableName).AddColumn(columnName);
+ }
+
///
/// Retrieves expressions for building an entity table
///
diff --git a/src/Libraries/Nop.Data/Migrations/UpgradeTo440/DataMigration.cs b/src/Libraries/Nop.Data/Migrations/UpgradeTo440/DataMigration.cs
index c49f4213172..10cd5dc1891 100644
--- a/src/Libraries/Nop.Data/Migrations/UpgradeTo440/DataMigration.cs
+++ b/src/Libraries/Nop.Data/Migrations/UpgradeTo440/DataMigration.cs
@@ -4,6 +4,7 @@
using Nop.Core.Domain.Logging;
using Nop.Core.Domain.Security;
using Nop.Core.Domain.Vendors;
+using Nop.Data.Extensions;
using Nop.Data.Mapping;
namespace Nop.Data.Migrations.UpgradeTo440;
@@ -108,126 +109,140 @@ public override void Up()
//
//issue-3852
- var tableName = nameof(RewardPointsHistory);
- var rph = Schema.Table(tableName);
+ var rewardPointsHistoryTableName = NameCompatibilityManager.GetTableName(typeof(RewardPointsHistory));
+ var rph = Schema.Table(rewardPointsHistoryTableName);
var columnName = "UsedWithOrder_Id";
- if (rph.Column(columnName).Exists())
+ if (Schema.ColumnExist(columnName))
{
var constraintName = "RewardPointsHistory_UsedWithOrder";
if (rph.Constraint(constraintName).Exists())
- Delete.UniqueConstraint(constraintName).FromTable(tableName);
+ Delete.UniqueConstraint(constraintName).FromTable(rewardPointsHistoryTableName);
- Delete.Column(columnName).FromTable(tableName);
+ Delete.Column(columnName);
}
//#3353
- var productAttributeCombinationTableName = NameCompatibilityManager.GetTableName(typeof(ProductAttributeCombination));
//add column
- if (!Schema.Table(productAttributeCombinationTableName).Column(nameof(ProductAttributeCombination.MinStockQuantity)).Exists())
+ if (!Schema.ColumnExist(t => t.MinStockQuantity))
{
- Alter.Table(productAttributeCombinationTableName)
- .AddColumn(nameof(ProductAttributeCombination.MinStockQuantity)).AsInt32().NotNullable().SetExistingRowsTo(0);
+ Alter.AddColumnFor(t => t.MinStockQuantity)
+ .AsInt32()
+ .NotNullable()
+ .SetExistingRowsTo(0);
}
//#276 AJAX filters
- var categoryTableName = NameCompatibilityManager.GetTableName(typeof(Category));
- var manufacturerTableName = NameCompatibilityManager.GetTableName(typeof(Manufacturer));
- var vendorTableName = NameCompatibilityManager.GetTableName(typeof(Vendor));
//remove column
var priceRangesColumnName = "PriceRanges";
- if (Schema.Table(categoryTableName).Column(priceRangesColumnName).Exists())
- Delete.Column(priceRangesColumnName).FromTable(categoryTableName);
+ if (Schema.ColumnExist(priceRangesColumnName))
+ Delete.Column(priceRangesColumnName);
- if (Schema.Table(manufacturerTableName).Column(priceRangesColumnName).Exists())
- Delete.Column(priceRangesColumnName).FromTable(manufacturerTableName);
+ if (Schema.ColumnExist(priceRangesColumnName))
+ Delete.Column(priceRangesColumnName);
//add column
- var priceRangeFilteringColumnName = "PriceRangeFiltering";
-
- if (!Schema.Table(categoryTableName).Column(priceRangeFilteringColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.PriceRangeFiltering))
{
- Alter.Table(categoryTableName)
- .AddColumn(priceRangeFilteringColumnName).AsBoolean().NotNullable().SetExistingRowsTo(true);
+ Alter.AddColumnFor(t => t.PriceRangeFiltering)
+ .AsBoolean()
+ .NotNullable()
+ .SetExistingRowsTo(true);
}
- if (!Schema.Table(manufacturerTableName).Column(priceRangeFilteringColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.PriceRangeFiltering))
{
- Alter.Table(manufacturerTableName)
- .AddColumn(priceRangeFilteringColumnName).AsBoolean().NotNullable().SetExistingRowsTo(true);
+ Alter.AddColumnFor(t => t.PriceRangeFiltering)
+ .AsBoolean()
+ .NotNullable()
+ .SetExistingRowsTo(true);
}
- if (!Schema.Table(vendorTableName).Column(priceRangeFilteringColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.PriceRangeFiltering))
{
- Alter.Table(vendorTableName)
- .AddColumn(priceRangeFilteringColumnName).AsBoolean().NotNullable().SetExistingRowsTo(true);
+ Alter.AddColumnFor(t => t.PriceRangeFiltering)
+ .AsBoolean()
+ .NotNullable()
+ .SetExistingRowsTo(true);
}
//add column
- var priceFromColumnName = "PriceFrom";
-
- if (!Schema.Table(categoryTableName).Column(priceFromColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.PriceFrom))
{
- Alter.Table(categoryTableName)
- .AddColumn(priceFromColumnName).AsDecimal().NotNullable().SetExistingRowsTo(0);
+ Alter.AddColumnFor(t => t.PriceFrom)
+ .AsDecimal()
+ .NotNullable()
+ .SetExistingRowsTo(0);
}
- if (!Schema.Table(manufacturerTableName).Column(priceFromColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.PriceFrom))
{
- Alter.Table(manufacturerTableName)
- .AddColumn(priceFromColumnName).AsDecimal().NotNullable().SetExistingRowsTo(0);
+ Alter.AddColumnFor(t => t.PriceFrom)
+ .AsDecimal()
+ .NotNullable()
+ .SetExistingRowsTo(0);
}
- if (!Schema.Table(vendorTableName).Column(priceFromColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.PriceFrom))
{
- Alter.Table(vendorTableName)
- .AddColumn(priceFromColumnName).AsDecimal().NotNullable().SetExistingRowsTo(0);
+ Alter.AddColumnFor(t => t.PriceFrom)
+ .AsDecimal()
+ .NotNullable()
+ .SetExistingRowsTo(0);
}
//add column
- var priceToColumnName = "PriceTo";
-
- if (!Schema.Table(categoryTableName).Column(priceToColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.PriceTo))
{
- Alter.Table(categoryTableName)
- .AddColumn(priceToColumnName).AsDecimal().NotNullable().SetExistingRowsTo(10000);
+ Alter.AddColumnFor(t => t.PriceTo)
+ .AsDecimal()
+ .NotNullable()
+ .SetExistingRowsTo(10000);
}
- if (!Schema.Table(manufacturerTableName).Column(priceToColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.PriceTo))
{
- Alter.Table(manufacturerTableName)
- .AddColumn(priceToColumnName).AsDecimal().NotNullable().SetExistingRowsTo(10000);
+ Alter.AddColumnFor(t => t.PriceTo)
+ .AsDecimal()
+ .NotNullable()
+ .SetExistingRowsTo(10000);
}
- if (!Schema.Table(vendorTableName).Column(priceToColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.PriceTo))
{
- Alter.Table(vendorTableName)
- .AddColumn(priceToColumnName).AsDecimal().NotNullable().SetExistingRowsTo(10000);
+ Alter.AddColumnFor(t => t.PriceTo)
+ .AsDecimal()
+ .NotNullable()
+ .SetExistingRowsTo(10000);
}
//add column
- var manuallyPriceRangeColumnName = "ManuallyPriceRange";
-
- if (!Schema.Table(categoryTableName).Column(manuallyPriceRangeColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.ManuallyPriceRange))
{
- Alter.Table(categoryTableName)
- .AddColumn(manuallyPriceRangeColumnName).AsBoolean().NotNullable().SetExistingRowsTo(false);
+ Alter.AddColumnFor(t => t.ManuallyPriceRange)
+ .AsBoolean()
+ .NotNullable()
+ .SetExistingRowsTo(false);
}
- if (!Schema.Table(manufacturerTableName).Column(manuallyPriceRangeColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.ManuallyPriceRange))
{
- Alter.Table(manufacturerTableName)
- .AddColumn(manuallyPriceRangeColumnName).AsBoolean().NotNullable().SetExistingRowsTo(false);
+ Alter.AddColumnFor(t => t.ManuallyPriceRange)
+ .AsBoolean()
+ .NotNullable()
+ .SetExistingRowsTo(false);
}
- if (!Schema.Table(vendorTableName).Column(manuallyPriceRangeColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.ManuallyPriceRange))
{
- Alter.Table(vendorTableName)
- .AddColumn(manuallyPriceRangeColumnName).AsBoolean().NotNullable().SetExistingRowsTo(false);
+ Alter.AddColumnFor(t => t.ManuallyPriceRange)
+ .AsBoolean()
+ .NotNullable()
+ .SetExistingRowsTo(false);
}
}
diff --git a/src/Libraries/Nop.Data/Migrations/UpgradeTo440/SpecificationAttributeGroupingMigration.cs b/src/Libraries/Nop.Data/Migrations/UpgradeTo440/SpecificationAttributeGroupingMigration.cs
index 4f6c404c706..1b65061b6f0 100644
--- a/src/Libraries/Nop.Data/Migrations/UpgradeTo440/SpecificationAttributeGroupingMigration.cs
+++ b/src/Libraries/Nop.Data/Migrations/UpgradeTo440/SpecificationAttributeGroupingMigration.cs
@@ -1,7 +1,6 @@
using FluentMigrator;
using Nop.Core.Domain.Catalog;
using Nop.Data.Extensions;
-using Nop.Data.Mapping;
namespace Nop.Data.Migrations.UpgradeTo440;
@@ -15,14 +14,16 @@ public class SpecificationAttributeGroupingMigration : ForwardOnlyMigration
///
public override void Up()
{
- if (!Schema.Table(NameCompatibilityManager.GetTableName(typeof(SpecificationAttributeGroup))).Exists())
+ if (!Schema.TableExist())
Create.TableFor();
- if (!Schema.Table(NameCompatibilityManager.GetTableName(typeof(SpecificationAttribute))).Column(nameof(SpecificationAttribute.SpecificationAttributeGroupId)).Exists())
+ if (!Schema.ColumnExist(t => t.SpecificationAttributeGroupId))
{
//add new column
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(SpecificationAttribute)))
- .AddColumn(nameof(SpecificationAttribute.SpecificationAttributeGroupId)).AsInt32().Nullable().ForeignKey();
+ Alter.AddColumnFor(t => t.SpecificationAttributeGroupId)
+ .AsInt32()
+ .Nullable()
+ .ForeignKey();
}
}
diff --git a/src/Libraries/Nop.Data/Migrations/UpgradeTo450/DataMigration.cs b/src/Libraries/Nop.Data/Migrations/UpgradeTo450/DataMigration.cs
index 252a302e194..c52cc0f57d0 100644
--- a/src/Libraries/Nop.Data/Migrations/UpgradeTo450/DataMigration.cs
+++ b/src/Libraries/Nop.Data/Migrations/UpgradeTo450/DataMigration.cs
@@ -5,7 +5,7 @@
using Nop.Core.Domain.ScheduleTasks;
using Nop.Core.Domain.Security;
using Nop.Core.Domain.Shipping;
-using Nop.Data.Mapping;
+using Nop.Data.Extensions;
namespace Nop.Data.Migrations.UpgradeTo450;
@@ -25,13 +25,12 @@ public DataMigration(INopDataProvider dataProvider)
public override void Up()
{
// add column
- var shipmentTableName = nameof(Shipment);
- var collectedDateUtcColumnName = "ReadyForPickupDateUtc";
- if (!Schema.Table(shipmentTableName).Column(collectedDateUtcColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.ReadyForPickupDateUtc))
{
- Alter.Table(shipmentTableName)
- .AddColumn(collectedDateUtcColumnName).AsDateTime2().Nullable();
+ Alter.AddColumnFor(t => t.ReadyForPickupDateUtc)
+ .AsDateTime2()
+ .Nullable();
}
// add message template
@@ -49,17 +48,19 @@ public override void Up()
);
}
//#5547
- var scheduleTaskTableName = NameCompatibilityManager.GetTableName(typeof(ScheduleTask));
//add column
- if (!Schema.Table(scheduleTaskTableName).Column(nameof(ScheduleTask.LastEnabledUtc)).Exists())
+ if (!Schema.ColumnExist(t => t.LastEnabledUtc))
{
- Alter.Table(scheduleTaskTableName)
- .AddColumn(nameof(ScheduleTask.LastEnabledUtc)).AsDateTime2().Nullable();
+ Alter.AddColumnFor(t => t.LastEnabledUtc)
+ .AsDateTime2()
+ .Nullable();
}
else
{
- Alter.Table(scheduleTaskTableName).AlterColumn(nameof(ScheduleTask.LastEnabledUtc)).AsDateTime2().Nullable();
+ Alter.AlterColumnFor(t => t.LastEnabledUtc)
+ .AsDateTime2()
+ .Nullable();
}
//#5939
@@ -89,13 +90,13 @@ public override void Up()
}
//add column
- var returnRequestTableName = NameCompatibilityManager.GetTableName(typeof(ReturnRequest));
- var returnedQuantityColumnName = "ReturnedQuantity";
- if (!Schema.Table(returnRequestTableName).Column(returnedQuantityColumnName).Exists())
+ if (!Schema.ColumnExist(t => t.ReturnedQuantity))
{
- Alter.Table(returnRequestTableName)
- .AddColumn(returnedQuantityColumnName).AsInt32().NotNullable().SetExistingRowsTo(0);
+ Alter.AddColumnFor(t => t.ReturnedQuantity)
+ .AsInt32()
+ .NotNullable()
+ .SetExistingRowsTo(0);
}
//#6053
diff --git a/src/Libraries/Nop.Data/Migrations/UpgradeTo460/MySqlDateTimeWithPrecisionMigration.cs b/src/Libraries/Nop.Data/Migrations/UpgradeTo460/MySqlDateTimeWithPrecisionMigration.cs
index a74667753c6..7de00874564 100644
--- a/src/Libraries/Nop.Data/Migrations/UpgradeTo460/MySqlDateTimeWithPrecisionMigration.cs
+++ b/src/Libraries/Nop.Data/Migrations/UpgradeTo460/MySqlDateTimeWithPrecisionMigration.cs
@@ -15,7 +15,7 @@
using Nop.Core.Domain.ScheduleTasks;
using Nop.Core.Domain.Shipping;
using Nop.Core.Domain.Vendors;
-using Nop.Data.Mapping;
+using Nop.Data.Extensions;
namespace Nop.Data.Migrations.UpgradeTo460;
@@ -30,313 +30,310 @@ public override void Up()
if (dataSettings.DataProvider != DataProviderType.MySql)
return;
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ActivityLog)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ActivityLog), nameof(ActivityLog.CreatedOnUtc)))
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Address)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Address), nameof(Address.CreatedOnUtc)))
- .AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(BackInStockSubscription)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(BackInStockSubscription), nameof(BackInStockSubscription.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(BlogComment)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(BlogComment), nameof(BlogComment.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(BlogPost)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(BlogPost), nameof(BlogPost.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(BlogPost)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(BlogPost), nameof(BlogPost.EndDateUtc)))
+
+ Alter.AlterColumnFor(t => t.EndDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(BlogPost)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(BlogPost), nameof(BlogPost.StartDateUtc)))
+
+ Alter.AlterColumnFor(t => t.StartDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Campaign)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Campaign), nameof(Campaign.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Campaign)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Campaign), nameof(Campaign.DontSendBeforeDateUtc)))
+
+ Alter.AlterColumnFor(t => t.DontSendBeforeDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Category)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Category), nameof(Category.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Category)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Category), nameof(Category.UpdatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.UpdatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Currency)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Currency), nameof(Currency.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Currency)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Currency), nameof(Currency.UpdatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.UpdatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Customer)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Customer), nameof(Customer.CannotLoginUntilDateUtc)))
+
+ Alter.AlterColumnFor(t => t.CannotLoginUntilDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Customer)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Customer), nameof(Customer.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Customer)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Customer), nameof(Customer.DateOfBirth)))
+
+ Alter.AlterColumnFor(t => t.DateOfBirth)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Customer)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Customer), nameof(Customer.LastActivityDateUtc)))
+
+ Alter.AlterColumnFor(t => t.LastActivityDateUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Customer)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Customer), nameof(Customer.LastLoginDateUtc)))
+
+ Alter.AlterColumnFor(t => t.LastLoginDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(CustomerPassword)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(CustomerPassword), nameof(CustomerPassword.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Discount)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Discount), nameof(Discount.EndDateUtc)))
+
+ Alter.AlterColumnFor(t => t.EndDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Discount)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Discount), nameof(Discount.StartDateUtc)))
+
+ Alter.AlterColumnFor(t => t.StartDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(DiscountUsageHistory)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(DiscountUsageHistory), nameof(DiscountUsageHistory.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Forum)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Forum), nameof(Forum.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Forum)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Forum), nameof(Forum.LastPostTime)))
+
+ Alter.AlterColumnFor(t => t.LastPostTime)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Forum)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Forum), nameof(Forum.UpdatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.UpdatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ForumGroup)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ForumGroup), nameof(ForumGroup.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ForumGroup)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ForumGroup), nameof(ForumGroup.UpdatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.UpdatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ForumPost)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ForumPost), nameof(ForumPost.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ForumPost)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ForumPost), nameof(ForumPost.UpdatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.UpdatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ForumPostVote)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ForumPostVote), nameof(ForumPostVote.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(PrivateMessage)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(PrivateMessage), nameof(PrivateMessage.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ForumSubscription)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ForumSubscription), nameof(ForumSubscription.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ForumTopic)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ForumTopic), nameof(ForumTopic.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ForumTopic)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ForumTopic), nameof(ForumTopic.LastPostTime)))
+
+ Alter.AlterColumnFor(t => t.LastPostTime)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ForumTopic)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ForumTopic), nameof(ForumTopic.UpdatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.UpdatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(GdprLog)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(GdprLog), nameof(GdprLog.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(GenericAttribute)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(GenericAttribute), nameof(GenericAttribute.CreatedOrUpdatedDateUTC)))
+
+ Alter.AlterColumnFor(t => t.CreatedOrUpdatedDateUTC)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(GiftCard)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(GiftCard), nameof(GiftCard.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(GiftCardUsageHistory)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(GiftCardUsageHistory), nameof(GiftCardUsageHistory.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Log)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Log), nameof(Log.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Manufacturer)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Manufacturer), nameof(Manufacturer.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Manufacturer)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Manufacturer), nameof(Manufacturer.UpdatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.UpdatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(MigrationVersionInfo)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(MigrationVersionInfo), nameof(MigrationVersionInfo.AppliedOn)))
+
+ Alter.AlterColumnFor(t => t.AppliedOn)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(NewsItem)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(NewsItem), nameof(NewsItem.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(NewsItem)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(NewsItem), nameof(NewsItem.EndDateUtc)))
+
+ Alter.AlterColumnFor(t => t.EndDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(NewsItem)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(NewsItem), nameof(NewsItem.StartDateUtc)))
+
+ Alter.AlterColumnFor(t => t.StartDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(NewsComment)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(NewsComment), nameof(NewsComment.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(NewsLetterSubscription)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(NewsLetterSubscription), nameof(NewsLetterSubscription.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Order)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Order), nameof(Order.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Order)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Order), nameof(Order.PaidDateUtc)))
+
+ Alter.AlterColumnFor(t => t.PaidDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(OrderItem)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(OrderItem), nameof(OrderItem.RentalEndDateUtc)))
+
+ Alter.AlterColumnFor(t => t.RentalEndDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(OrderItem)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(OrderItem), nameof(OrderItem.RentalStartDateUtc)))
+
+ Alter.AlterColumnFor(t => t.RentalStartDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(OrderNote)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(OrderNote), nameof(OrderNote.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Poll)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Poll), nameof(Poll.EndDateUtc)))
+
+ Alter.AlterColumnFor(t => t.EndDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Poll)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Poll), nameof(Poll.StartDateUtc)))
+
+ Alter.AlterColumnFor(t => t.StartDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(PollVotingRecord)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(PollVotingRecord), nameof(PollVotingRecord.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Product)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Product), nameof(Product.AvailableEndDateTimeUtc)))
+
+ Alter.AlterColumnFor(t => t.AvailableEndDateTimeUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Product)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Product), nameof(Product.AvailableStartDateTimeUtc)))
+
+ Alter.AlterColumnFor(t => t.AvailableStartDateTimeUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Product)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Product), nameof(Product.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Product)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Product), nameof(Product.MarkAsNewEndDateTimeUtc)))
+
+ Alter.AlterColumnFor(t => t.MarkAsNewEndDateTimeUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Product)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Product), nameof(Product.MarkAsNewStartDateTimeUtc)))
+
+ Alter.AlterColumnFor(t => t.MarkAsNewStartDateTimeUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Product)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Product), nameof(Product.PreOrderAvailabilityStartDateTimeUtc)))
+
+ Alter.AlterColumnFor(t => t.PreOrderAvailabilityStartDateTimeUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Product)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Product), nameof(Product.UpdatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.UpdatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ProductReview)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ProductReview), nameof(ProductReview.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(QueuedEmail)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(QueuedEmail), nameof(QueuedEmail.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(QueuedEmail)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(QueuedEmail), nameof(QueuedEmail.DontSendBeforeDateUtc)))
+
+ Alter.AlterColumnFor(t => t.DontSendBeforeDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(QueuedEmail)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(QueuedEmail), nameof(QueuedEmail.SentOnUtc)))
+
+ Alter.AlterColumnFor(t => t.SentOnUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(RecurringPayment)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(RecurringPayment), nameof(RecurringPayment.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(RecurringPayment)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(RecurringPayment), nameof(RecurringPayment.StartDateUtc)))
+
+ Alter.AlterColumnFor(t => t.StartDateUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(RecurringPaymentHistory)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(RecurringPaymentHistory), nameof(RecurringPaymentHistory.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ReturnRequest)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ReturnRequest), nameof(ReturnRequest.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ReturnRequest)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ReturnRequest), nameof(ReturnRequest.UpdatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.UpdatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(RewardPointsHistory)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(RewardPointsHistory), nameof(RewardPointsHistory.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(RewardPointsHistory)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(RewardPointsHistory), nameof(RewardPointsHistory.EndDateUtc)))
+
+ Alter.AlterColumnFor(t => t.EndDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ScheduleTask)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ScheduleTask), nameof(ScheduleTask.LastEnabledUtc)))
+
+ Alter.AlterColumnFor(t => t.LastEnabledUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ScheduleTask)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ScheduleTask), nameof(ScheduleTask.LastEndUtc)))
+
+ Alter.AlterColumnFor(t => t.LastEndUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ScheduleTask)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ScheduleTask), nameof(ScheduleTask.LastStartUtc)))
+
+ Alter.AlterColumnFor(t => t.LastStartUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ScheduleTask)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ScheduleTask), nameof(ScheduleTask.LastSuccessUtc)))
+
+ Alter.AlterColumnFor(t => t.LastSuccessUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Shipment)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Shipment), nameof(Shipment.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Shipment)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Shipment), nameof(Shipment.DeliveryDateUtc)))
+
+ Alter.AlterColumnFor(t => t.DeliveryDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Shipment)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Shipment), nameof(Shipment.ReadyForPickupDateUtc)))
+
+ Alter.AlterColumnFor(t => t.ReadyForPickupDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(Shipment)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(Shipment), nameof(Shipment.ShippedDateUtc)))
+
+ Alter.AlterColumnFor(t => t.ShippedDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ShoppingCartItem)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ShoppingCartItem), nameof(ShoppingCartItem.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ShoppingCartItem)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ShoppingCartItem), nameof(ShoppingCartItem.RentalEndDateUtc)))
+
+ Alter.AlterColumnFor(t => t.RentalEndDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ShoppingCartItem)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ShoppingCartItem), nameof(ShoppingCartItem.RentalStartDateUtc)))
+
+ Alter.AlterColumnFor(t => t.RentalStartDateUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(ShoppingCartItem)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(ShoppingCartItem), nameof(ShoppingCartItem.UpdatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.UpdatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(StockQuantityHistory)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(StockQuantityHistory), nameof(StockQuantityHistory.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(TierPrice)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(TierPrice), nameof(TierPrice.EndDateTimeUtc)))
+
+ Alter.AlterColumnFor(t => t.EndDateTimeUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(TierPrice)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(TierPrice), nameof(TierPrice.StartDateTimeUtc)))
+
+ Alter.AlterColumnFor(t => t.StartDateTimeUtc)
.AsCustom("datetime(6)")
.Nullable();
- Alter.Table(NameCompatibilityManager.GetTableName(typeof(VendorNote)))
- .AlterColumn(NameCompatibilityManager.GetColumnName(typeof(VendorNote), nameof(VendorNote.CreatedOnUtc)))
+
+ Alter.AlterColumnFor(t => t.CreatedOnUtc)
.AsCustom("datetime(6)");
+
}
}
\ No newline at end of file
diff --git a/src/Libraries/Nop.Data/Migrations/UpgradeTo460/SchemaMigration.cs b/src/Libraries/Nop.Data/Migrations/UpgradeTo460/SchemaMigration.cs
index 57334e2e3ce..4ef49995da0 100644
--- a/src/Libraries/Nop.Data/Migrations/UpgradeTo460/SchemaMigration.cs
+++ b/src/Libraries/Nop.Data/Migrations/UpgradeTo460/SchemaMigration.cs
@@ -18,144 +18,71 @@ public class SchemaMigration : ForwardOnlyMigration
public override void Up()
{
// add column
- var customerTableName = nameof(Customer);
-
- var firstNameCustomerColumnName = nameof(Customer.FirstName);
- var lastNameCustomerColumnName = nameof(Customer.LastName);
- var genderCustomerColumnName = nameof(Customer.Gender);
- var dobCustomerColumnName = nameof(Customer.DateOfBirth);
- var companyCustomerColumnName = nameof(Customer.Company);
- var address1CustomerColumnName = nameof(Customer.StreetAddress);
- var address2CustomerColumnName = nameof(Customer.StreetAddress2);
- var zipCustomerColumnName = nameof(Customer.ZipPostalCode);
- var cityCustomerColumnName = nameof(Customer.City);
- var countyCustomerColumnName = nameof(Customer.County);
- var countryIdCustomerColumnName = nameof(Customer.CountryId);
- var stateIdCustomerColumnName = nameof(Customer.StateProvinceId);
- var phoneCustomerColumnName = nameof(Customer.Phone);
- var faxCustomerColumnName = nameof(Customer.Fax);
- var vatNumberCustomerColumnName = nameof(Customer.VatNumber);
- var vatNumberStatusIdCustomerColumnName = nameof(Customer.VatNumberStatusId);
- var timeZoneIdCustomerColumnName = nameof(Customer.TimeZoneId);
- var attributeXmlCustomerColumnName = nameof(Customer.CustomCustomerAttributesXML);
- var currencyIdCustomerColumnName = nameof(Customer.CurrencyId);
- var languageIdCustomerColumnName = nameof(Customer.LanguageId);
- var taxDisplayTypeIdCustomerColumnName = nameof(Customer.TaxDisplayTypeId);
-
- if (!Schema.Table(customerTableName).Column(firstNameCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(firstNameCustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(lastNameCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(lastNameCustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(genderCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(genderCustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(dobCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(dobCustomerColumnName).AsDateTime2().Nullable();
- }
- if (!Schema.Table(customerTableName).Column(companyCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(companyCustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(address1CustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(address1CustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(address2CustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(address2CustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(zipCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(zipCustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(cityCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(cityCustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(countyCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(countyCustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(countryIdCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(countryIdCustomerColumnName).AsInt32().NotNullable().SetExistingRowsTo(0);
- }
- if (!Schema.Table(customerTableName).Column(stateIdCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(stateIdCustomerColumnName).AsInt32().NotNullable().SetExistingRowsTo(0);
- }
- if (!Schema.Table(customerTableName).Column(phoneCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(phoneCustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(faxCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(faxCustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(vatNumberCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(vatNumberCustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(vatNumberStatusIdCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(vatNumberStatusIdCustomerColumnName).AsInt32().NotNullable().SetExistingRowsTo((int)VatNumberStatus.Unknown);
- }
- if (!Schema.Table(customerTableName).Column(timeZoneIdCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(timeZoneIdCustomerColumnName).AsString(1000).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(attributeXmlCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(attributeXmlCustomerColumnName).AsString(int.MaxValue).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(currencyIdCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(currencyIdCustomerColumnName).AsInt32().ForeignKey(onDelete: Rule.SetNull).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(languageIdCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(languageIdCustomerColumnName).AsInt32().ForeignKey(onDelete: Rule.SetNull).Nullable();
- }
- if (!Schema.Table(customerTableName).Column(taxDisplayTypeIdCustomerColumnName).Exists())
- {
- Alter.Table(customerTableName)
- .AddColumn(taxDisplayTypeIdCustomerColumnName).AsInt32().Nullable();
- }
-
- //5705
- var discountTableName = nameof(Discount);
- var isActiveDiscountColumnName = nameof(Discount.IsActive);
-
- if (!Schema.Table(discountTableName).Column(isActiveDiscountColumnName).Exists())
- {
- Alter.Table(discountTableName)
- .AddColumn(isActiveDiscountColumnName).AsBoolean().NotNullable().SetExistingRowsTo(true);
- }
+ if (!Schema.ColumnExist(t => t.FirstName))
+ Alter.AddColumnFor(t => t.FirstName).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.LastName))
+ Alter.AddColumnFor(t => t.LastName).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.Gender))
+ Alter.AddColumnFor(t => t.Gender).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.DateOfBirth))
+ Alter.AddColumnFor(t => t.DateOfBirth).AsDateTime2().Nullable();
+
+ if (!Schema.ColumnExist(t => t.Company))
+ Alter.AddColumnFor(t => t.Company).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.StreetAddress))
+ Alter.AddColumnFor(t => t.StreetAddress).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.StreetAddress2))
+ Alter.AddColumnFor(t => t.StreetAddress2).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.ZipPostalCode))
+ Alter.AddColumnFor(t => t.ZipPostalCode).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.City))
+ Alter.AddColumnFor(t => t.City).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.County))
+ Alter.AddColumnFor(t => t.County).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.CountryId))
+ Alter.AddColumnFor(t => t.CountryId).AsInt32().NotNullable().SetExistingRowsTo(0);
+
+ if (!Schema.ColumnExist(t => t.StateProvinceId))
+ Alter.AddColumnFor(t => t.StateProvinceId).AsInt32().NotNullable().SetExistingRowsTo(0);
+
+ if (!Schema.ColumnExist(t => t.Phone))
+ Alter.AddColumnFor(t => t.Phone).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.Fax))
+ Alter.AddColumnFor(t => t.Fax).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.VatNumber))
+ Alter.AddColumnFor(t => t.VatNumber).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.VatNumberStatusId))
+ Alter.AddColumnFor(t => t.VatNumberStatusId).AsInt32().NotNullable().SetExistingRowsTo((int)VatNumberStatus.Unknown);
+
+ if (!Schema.ColumnExist(t => t.TimeZoneId))
+ Alter.AddColumnFor(t => t.TimeZoneId).AsString(1000).Nullable();
+
+ if (!Schema.ColumnExist(t => t.CustomCustomerAttributesXML))
+ Alter.AddColumnFor(t => t.CustomCustomerAttributesXML).AsString(int.MaxValue).Nullable();
+
+ if (!Schema.ColumnExist(t => t.CurrencyId))
+ Alter.AddColumnFor(t => t.CurrencyId).AsInt32().ForeignKey(onDelete: Rule.SetNull).Nullable();
+
+ if (!Schema.ColumnExist(t => t.LanguageId))
+ Alter.AddColumnFor(t => t.LanguageId).AsInt32().ForeignKey(onDelete: Rule.SetNull).Nullable();
+
+ if (!Schema.ColumnExist(t => t.TaxDisplayTypeId))
+ Alter.AddColumnFor(t => t.TaxDisplayTypeId).AsInt32().Nullable();
+
+ // Discount table
+ if (!Schema.ColumnExist(t => t.IsActive))
+ Alter.AddColumnFor(t => t.IsActive).AsBoolean().NotNullable().SetExistingRowsTo(true);
}
}
\ No newline at end of file
diff --git a/src/Libraries/Nop.Data/Migrations/UpgradeTo460/StoreMigration.cs b/src/Libraries/Nop.Data/Migrations/UpgradeTo460/StoreMigration.cs
index f4678d80d5c..3b6ba15f5de 100644
--- a/src/Libraries/Nop.Data/Migrations/UpgradeTo460/StoreMigration.cs
+++ b/src/Libraries/Nop.Data/Migrations/UpgradeTo460/StoreMigration.cs
@@ -1,5 +1,6 @@
using FluentMigrator;
using Nop.Core.Domain.Stores;
+using Nop.Data.Extensions;
namespace Nop.Data.Migrations.UpgradeTo460;
@@ -8,49 +9,38 @@ public class StoreMigration : ForwardOnlyMigration
{
public override void Up()
{
- if (!Schema.Table(nameof(Store)).Column(nameof(Store.Deleted)).Exists())
- {
+ if (!Schema.ColumnExist(t => t.Deleted))
//add new column
- Alter.Table(nameof(Store))
- .AddColumn(nameof(Store.Deleted)).AsBoolean().WithDefaultValue(false);
+ Alter.AddColumnFor(t => t.Deleted).AsBoolean().WithDefaultValue(false);
- Alter.Table(nameof(Store))
- .AlterColumn(nameof(Store.Deleted)).AsBoolean();
- }
-
- if (!Schema.Table(nameof(Store)).Column(nameof(Store.DefaultTitle)).Exists())
+ if (!Schema.ColumnExist(t => t.DefaultTitle))
//add new column
- Alter.Table(nameof(Store))
- .AddColumn(nameof(Store.DefaultTitle)).AsString(int.MaxValue).Nullable();
+ Alter.AddColumnFor(t => t.DefaultTitle).AsString(int.MaxValue).Nullable();
else
- Alter.Table(nameof(Store)).AlterColumn(nameof(Store.DefaultTitle)).AsString(int.MaxValue).Nullable();
+ Alter.AlterColumnFor(t => t.DefaultTitle).AsString(int.MaxValue).Nullable();
- if (!Schema.Table(nameof(Store)).Column(nameof(Store.DefaultMetaDescription)).Exists())
+ if (!Schema.ColumnExist(t => t.DefaultMetaDescription))
//add new column
- Alter.Table(nameof(Store))
- .AddColumn(nameof(Store.DefaultMetaDescription)).AsString(int.MaxValue).Nullable();
+ Alter.AddColumnFor(t => t.DefaultMetaDescription).AsString(int.MaxValue).Nullable();
else
- Alter.Table(nameof(Store)).AlterColumn(nameof(Store.DefaultMetaDescription)).AsString(int.MaxValue).Nullable();
+ Alter.AlterColumnFor(t => t.DefaultMetaDescription).AsString(int.MaxValue).Nullable();
- if (!Schema.Table(nameof(Store)).Column(nameof(Store.DefaultMetaKeywords)).Exists())
+ if (!Schema.ColumnExist(t => t.DefaultMetaKeywords))
//add new column
- Alter.Table(nameof(Store))
- .AddColumn(nameof(Store.DefaultMetaKeywords)).AsString(int.MaxValue).Nullable();
+ Alter.AddColumnFor(t => t.DefaultMetaKeywords).AsString(int.MaxValue).Nullable();
else
- Alter.Table(nameof(Store)).AlterColumn(nameof(Store.DefaultMetaKeywords)).AsString(int.MaxValue).Nullable();
+ Alter.AlterColumnFor(t => t.DefaultMetaKeywords).AsString(int.MaxValue).Nullable();
- if (!Schema.Table(nameof(Store)).Column(nameof(Store.HomepageDescription)).Exists())
+ if (!Schema.ColumnExist(t => t.HomepageDescription))
//add new column
- Alter.Table(nameof(Store))
- .AddColumn(nameof(Store.HomepageDescription)).AsString(int.MaxValue).Nullable();
+ Alter.AddColumnFor(t => t.HomepageDescription).AsString(int.MaxValue).Nullable();
else
- Alter.Table(nameof(Store)).AlterColumn(nameof(Store.HomepageDescription)).AsString(int.MaxValue).Nullable();
+ Alter.AlterColumnFor(t => t.HomepageDescription).AsString(int.MaxValue).Nullable();
- if (!Schema.Table(nameof(Store)).Column(nameof(Store.HomepageTitle)).Exists())
+ if (!Schema.ColumnExist(t => t.HomepageTitle))
//add new column
- Alter.Table(nameof(Store))
- .AddColumn(nameof(Store.HomepageTitle)).AsString(int.MaxValue).Nullable();
+ Alter.AddColumnFor(t => t.HomepageTitle).AsString(int.MaxValue).Nullable();
else
- Alter.Table(nameof(Store)).AlterColumn(nameof(Store.HomepageTitle)).AsString(int.MaxValue).Nullable();
+ Alter.AlterColumnFor(t => t.HomepageTitle).AsString(int.MaxValue).Nullable();
}
}
\ No newline at end of file
diff --git a/src/Libraries/Nop.Data/Migrations/UpgradeTo460/VideoMigration.cs b/src/Libraries/Nop.Data/Migrations/UpgradeTo460/VideoMigration.cs
index c90184f4aac..92c09f46015 100644
--- a/src/Libraries/Nop.Data/Migrations/UpgradeTo460/VideoMigration.cs
+++ b/src/Libraries/Nop.Data/Migrations/UpgradeTo460/VideoMigration.cs
@@ -2,7 +2,6 @@
using Nop.Core.Domain.Catalog;
using Nop.Core.Domain.Media;
using Nop.Data.Extensions;
-using Nop.Data.Mapping;
namespace Nop.Data.Migrations.UpgradeTo460;
@@ -14,10 +13,10 @@ public class VideoMigration : ForwardOnlyMigration
///
public override void Up()
{
- if (!Schema.Table(NameCompatibilityManager.GetTableName(typeof(Video))).Exists())
+ if (!Schema.TableExist