//
using System;
using BasicDotnetTemplate.MainProject.Core.Database;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace MainProject.Migrations
{
[DbContext(typeof(SqlServerContext))]
[Migration("20250617183212_AlterTableUsersForPasswordEncryption")]
partial class AlterTableUsersForPasswordEncryption
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.5")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.PermissionModule", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("CreationTime")
.HasColumnType("datetime2");
b.Property("CreationUserId")
.HasColumnType("int");
b.Property("DeletionTime")
.HasColumnType("datetime2");
b.Property("DeletionUserId")
.HasColumnType("int");
b.Property("Enabled")
.HasColumnType("bit");
b.Property("Guid")
.IsRequired()
.HasMaxLength(45)
.HasColumnType("nvarchar(45)");
b.Property("IsDeleted")
.HasColumnType("bit");
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("UpdateTime")
.HasColumnType("datetime2");
b.Property("UpdateUserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex(new[] { "Enabled" }, "IX_Enabled")
.HasFilter("[Enabled] = 1");
b.HasIndex(new[] { "IsDeleted" }, "IX_IsDeleted")
.HasFilter("[IsDeleted] = 0");
b.HasIndex(new[] { "IsDeleted", "Name", "Enabled" }, "IX_IsDeleted_Name_Enabled")
.HasFilter("[IsDeleted] = 0");
b.ToTable("PermissionModules");
});
modelBuilder.Entity("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.PermissionOperation", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("CreationTime")
.HasColumnType("datetime2");
b.Property("CreationUserId")
.HasColumnType("int");
b.Property("DeletionTime")
.HasColumnType("datetime2");
b.Property("DeletionUserId")
.HasColumnType("int");
b.Property("Guid")
.IsRequired()
.HasMaxLength(45)
.HasColumnType("nvarchar(45)");
b.Property("IsDeleted")
.HasColumnType("bit");
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("UpdateTime")
.HasColumnType("datetime2");
b.Property("UpdateUserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex(new[] { "IsDeleted", "Name" }, "IX_IsDeleted_Name");
b.ToTable("PermissionOperations");
});
modelBuilder.Entity("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.PermissionSystem", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("CreationTime")
.HasColumnType("datetime2");
b.Property("CreationUserId")
.HasColumnType("int");
b.Property("DeletionTime")
.HasColumnType("datetime2");
b.Property("DeletionUserId")
.HasColumnType("int");
b.Property("Enabled")
.HasColumnType("bit");
b.Property("Guid")
.IsRequired()
.HasMaxLength(45)
.HasColumnType("nvarchar(45)");
b.Property("IsDeleted")
.HasColumnType("bit");
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("UpdateTime")
.HasColumnType("datetime2");
b.Property("UpdateUserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex(new[] { "Enabled" }, "IX_Enabled")
.HasFilter("[Enabled] = 1");
b.HasIndex(new[] { "IsDeleted" }, "IX_IsDeleted")
.HasFilter("[IsDeleted] = 0");
b.HasIndex(new[] { "IsDeleted", "Name", "Enabled" }, "IX_IsDeleted_Name_Enabled")
.HasFilter("[IsDeleted] = 0");
b.ToTable("PermissionSystems");
});
modelBuilder.Entity("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.PermissionSystemModule", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("CreationTime")
.HasColumnType("datetime2");
b.Property("CreationUserId")
.HasColumnType("int");
b.Property("DeletionTime")
.HasColumnType("datetime2");
b.Property("DeletionUserId")
.HasColumnType("int");
b.Property("Enabled")
.HasColumnType("bit");
b.Property("Guid")
.IsRequired()
.HasMaxLength(45)
.HasColumnType("nvarchar(45)");
b.Property("IsDeleted")
.HasColumnType("bit");
b.Property("PermissionModuleId")
.HasColumnType("int");
b.Property("PermissionSystemId")
.HasColumnType("int");
b.Property("UpdateTime")
.HasColumnType("datetime2");
b.Property("UpdateUserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("PermissionModuleId");
b.HasIndex("PermissionSystemId");
b.ToTable("PermissionSystemModules");
});
modelBuilder.Entity("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.PermissionSystemModuleOperation", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("CreationTime")
.HasColumnType("datetime2");
b.Property("CreationUserId")
.HasColumnType("int");
b.Property("DeletionTime")
.HasColumnType("datetime2");
b.Property("DeletionUserId")
.HasColumnType("int");
b.Property("Enabled")
.HasColumnType("bit");
b.Property("Guid")
.IsRequired()
.HasMaxLength(45)
.HasColumnType("nvarchar(45)");
b.Property("IsDeleted")
.HasColumnType("bit");
b.Property("PermissionOperationId")
.HasColumnType("int");
b.Property("PermissionSystemModuleId")
.HasColumnType("int");
b.Property("UpdateTime")
.HasColumnType("datetime2");
b.Property("UpdateUserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("PermissionOperationId");
b.HasIndex("PermissionSystemModuleId");
b.HasIndex(new[] { "IsDeleted", "Enabled", "Guid" }, "IX_IsDeleted_Enabled_Guid");
b.ToTable("PermissionSystemModuleOperations");
});
modelBuilder.Entity("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.Role", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("CreationTime")
.HasColumnType("datetime2");
b.Property("CreationUserId")
.HasColumnType("int");
b.Property("DeletionTime")
.HasColumnType("datetime2");
b.Property("DeletionUserId")
.HasColumnType("int");
b.Property("Guid")
.IsRequired()
.HasMaxLength(45)
.HasColumnType("nvarchar(45)");
b.Property("IsDeleted")
.HasColumnType("bit");
b.Property("IsNotEditable")
.HasColumnType("bit");
b.Property("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property("UpdateTime")
.HasColumnType("datetime2");
b.Property("UpdateUserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex(new[] { "IsDeleted", "Guid" }, "IX_IsDeleted_Guid")
.HasFilter("[IsDeleted] = 0");
b.ToTable("Roles");
});
modelBuilder.Entity("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.RolePermissionSystemModuleOperation", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("Active")
.HasColumnType("bit");
b.Property("CreationTime")
.HasColumnType("datetime2");
b.Property("CreationUserId")
.HasColumnType("int");
b.Property("DeletionTime")
.HasColumnType("datetime2");
b.Property("DeletionUserId")
.HasColumnType("int");
b.Property("Guid")
.IsRequired()
.HasMaxLength(45)
.HasColumnType("nvarchar(45)");
b.Property("IsDeleted")
.HasColumnType("bit");
b.Property("PermissionSystemModuleOperationId")
.HasColumnType("int");
b.Property("RoleId")
.HasColumnType("int");
b.Property("UpdateTime")
.HasColumnType("datetime2");
b.Property("UpdateUserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("PermissionSystemModuleOperationId");
b.HasIndex("RoleId");
b.ToTable("RolePermissionSystemModuleOperations");
});
modelBuilder.Entity("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.User", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("CreationTime")
.HasColumnType("datetime2");
b.Property("CreationUserId")
.HasColumnType("int");
b.Property("DeletionTime")
.HasColumnType("datetime2");
b.Property("DeletionUserId")
.HasColumnType("int");
b.Property("Email")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property("FirstName")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property("Guid")
.IsRequired()
.HasMaxLength(45)
.HasColumnType("nvarchar(45)");
b.Property("IsDeleted")
.HasColumnType("bit");
b.Property("IsTestUser")
.HasColumnType("bit");
b.Property("LastName")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property("Password")
.HasColumnType("nvarchar(max)");
b.Property("PasswordIterations")
.HasColumnType("int");
b.Property("PasswordPepper")
.HasColumnType("nvarchar(max)");
b.Property("PasswordSalt")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property("RoleId")
.HasColumnType("int");
b.Property("UpdateTime")
.HasColumnType("datetime2");
b.Property("UpdateUserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("RoleId");
b.HasIndex(new[] { "Email" }, "IX_Email");
b.HasIndex(new[] { "IsDeleted", "Guid" }, "IX_IsDeleted_Guid")
.HasFilter("[IsDeleted] = 0");
b.ToTable("Users");
});
modelBuilder.Entity("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.PermissionSystemModule", b =>
{
b.HasOne("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.PermissionModule", "PermissionModule")
.WithMany()
.HasForeignKey("PermissionModuleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.PermissionSystem", "PermissionSystem")
.WithMany()
.HasForeignKey("PermissionSystemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PermissionModule");
b.Navigation("PermissionSystem");
});
modelBuilder.Entity("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.PermissionSystemModuleOperation", b =>
{
b.HasOne("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.PermissionOperation", "PermissionOperation")
.WithMany()
.HasForeignKey("PermissionOperationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.PermissionSystemModule", "PermissionSystemModule")
.WithMany()
.HasForeignKey("PermissionSystemModuleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PermissionOperation");
b.Navigation("PermissionSystemModule");
});
modelBuilder.Entity("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.RolePermissionSystemModuleOperation", b =>
{
b.HasOne("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.PermissionSystemModuleOperation", "PermissionSystemModuleOperation")
.WithMany()
.HasForeignKey("PermissionSystemModuleOperationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.Role", "Role")
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PermissionSystemModuleOperation");
b.Navigation("Role");
});
modelBuilder.Entity("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.User", b =>
{
b.HasOne("BasicDotnetTemplate.MainProject.Models.Database.SqlServer.Role", "Role")
.WithMany()
.HasForeignKey("RoleId");
b.Navigation("Role");
});
#pragma warning restore 612, 618
}
}
}