Try your search with a different keyword or use * as a wildcard.
using System.Data;
using FluentMigrator;
using Nop.Core.Domain.Customers;
using Nop.Core.Domain.Directory;
using Nop.Core.Domain.Discounts;
using Nop.Core.Domain.Localization;
using Nop.Core.Domain.Tax;
using Nop.Data.Extensions;
namespace Nop.Data.Migrations.UpgradeTo460;
[NopSchemaMigration("2022-07-20 00:00:10", "SchemaMigration for 4.60.0")]
public class SchemaMigration : ForwardOnlyMigration
{
///
/// Collect the UP migration expressions
///
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);
}
}
}