Add Oracle For ApplicationDBContext and ApplicationDBExamContext

This commit is contained in:
Suphonchai Phoonsawat 2024-05-03 14:02:06 +07:00
parent f5558747d8
commit ff711c38df
10 changed files with 39109 additions and 11 deletions

View file

@ -17,7 +17,7 @@ namespace BMA.EHR.Domain.Models.Documents
[Required, MaxLength(128)]
public string FileType { get; set; } = string.Empty;
[Column(TypeName = "text")]
[Column(TypeName = "NCLOB")]
public string Detail { get; set; } = string.Empty;
[Required]

View file

@ -12,7 +12,7 @@ using Oracle.EntityFrameworkCore.Metadata;
namespace BMA.EHR.Infrastructure.Migrations
{
[DbContext(typeof(LeaveDbContext))]
[Migration("20240503063439_Init Oracle Project")]
[Migration("20240503063836_Init Oracle Project")]
partial class InitOracleProject
{
/// <inheritdoc />
@ -36,7 +36,7 @@ namespace BMA.EHR.Infrastructure.Migrations
b.Property<string>("Detail")
.IsRequired()
.HasColumnType("text");
.HasColumnType("NCLOB");
b.Property<string>("FileName")
.IsRequired()

View file

@ -43,7 +43,7 @@ namespace BMA.EHR.Infrastructure.Migrations
FileName = table.Column<string>(type: "NVARCHAR2(255)", maxLength: 255, nullable: false),
FileSize = table.Column<int>(type: "NUMBER(10)", nullable: false),
FileType = table.Column<string>(type: "NVARCHAR2(128)", maxLength: 128, nullable: false),
Detail = table.Column<string>(type: "text(2000)", nullable: false),
Detail = table.Column<string>(type: "NCLOB", nullable: false),
ObjectRefId = table.Column<Guid>(type: "RAW(16)", nullable: false),
CreatedDate = table.Column<DateTime>(type: "TIMESTAMP(7)", nullable: false)
},

File diff suppressed because it is too large Load diff

View file

@ -33,7 +33,7 @@ namespace BMA.EHR.Infrastructure.Migrations
b.Property<string>("Detail")
.IsRequired()
.HasColumnType("text");
.HasColumnType("NCLOB");
b.Property<string>("FileName")
.IsRequired()

View file

@ -358,6 +358,123 @@ namespace BMA.EHR.Infrastructure.Persistence
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// meta data service
modelBuilder.Entity<BloodGroup>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<District>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<EducationLevel>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Gender>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Holiday>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Insignia>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<InsigniaType>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationAgency>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationFax>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationGovernmentAgency>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationLevel>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationOrganization>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationShortName>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationStatus>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationTelExternal>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationTelInternal>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationType>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PhysicalStatus>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Position>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionEmployeeGroup>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionEmployeeLevel>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionEmployeeLine>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionEmployeePosition>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionEmployeePositionSide>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionEmployeeStatus>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionExecutive>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionExecutiveSide>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionLevel>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionLine>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionPath>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionPathSide>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionStatus>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionType>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Prefix>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Province>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Relationship>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Religion>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Royal>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<RoyalHierarchy>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<RoyalType>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<SubDistrict>().Metadata.SetIsTableExcludedFromMigrations(true);
// Document
modelBuilder.Entity<Document>().Metadata.SetIsTableExcludedFromMigrations(true);
// Organization Service
modelBuilder.Entity<AvailablePositionLevelEntity>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrgEmployee>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationEmployeeProfile>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationEntity>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationPositionEntity>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionMasterEntity>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionNumberEntity>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfilePosition>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Report2>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Report2History>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Report2DetailHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<OrganizationPublishHistoryEntity>().Metadata.SetIsTableExcludedFromMigrations(true);
// HR
modelBuilder.Entity<LimitLeave>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<LimitTypeLeave>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Profile>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileAbility>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileAbilityHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileAddressHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileAssessment>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileAssessmentHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileAvatarHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileCertificate>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileCertificateHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileChangeName>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileChangeNameHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileChildren>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileChildrenHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileCoupleHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileCurrentAddressHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileDiscipline>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileDisciplineHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileDuty>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileDutyHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileEducation>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileEducationHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileEmployment>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileEmploymentHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileFamilyHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileFatherHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileGovernmentHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileHonor>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileHonorHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileInsignia>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileInsigniaHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileLeave>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileLeaveHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileLeaveSummary>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileMotherHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileNopaid>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileNopaidHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileOrganization>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileOther>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileOtherHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfilePaper>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileRegistrationAddressHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileSalary>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileSalaryHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileSalaryOrganization>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileSalaryPosition>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileSalaryPositionLevel>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileSalaryPositionNumber>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileSalaryPositionType>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileTraining>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<ProfileTrainingHistory>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<TypeLeave>().Metadata.SetIsTableExcludedFromMigrations(true);
}
public Task<int> SaveChangesAsync()

View file

@ -13,6 +13,7 @@ using BMA.EHR.Domain.Models.Probation;
using BMA.EHR.Domain.Models.Retirement;
using BMA.EHR.Domain.ModelsExam.Candidate;
using Microsoft.EntityFrameworkCore;
using System.Reflection.Emit;
namespace BMA.EHR.Infrastructure.Persistence
{
@ -31,9 +32,23 @@ namespace BMA.EHR.Infrastructure.Persistence
public ApplicationDBExamContext(DbContextOptions<ApplicationDBExamContext> options) : base(options)
{
}
public Task<int> SaveChangesAsync()
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// exam service
modelBuilder.Entity<Candidate>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Career>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Education>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PeriodExam>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<PositionExam>().Metadata.SetIsTableExcludedFromMigrations(true);
modelBuilder.Entity<Document>().Metadata.SetIsTableExcludedFromMigrations(true);
}
public Task<int> SaveChangesAsync()
{
return base.SaveChangesAsync();
}

View file

@ -1,11 +1,6 @@
using BMA.EHR.Application.Common.Interfaces;
using BMA.EHR.Domain.Models.Discipline;
using BMA.EHR.Domain.Models.MetaData;
using BMA.EHR.Domain.Models.Organizations;
// using BMA.EHR.Domain.Models.Discipline;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Infrastructure.Persistence