Migrated database changes
This commit is contained in:
@@ -15,7 +15,7 @@ public class Award : IEntityTypeConfiguration<Entities.Award>
|
||||
builder.Property(f => f.ApprovedBy).IsRequired(false);
|
||||
builder.Property(f => f.CreatedAt).IsRequired().HasDefaultValueSql("now()");
|
||||
builder.Property(f => f.UpdatedAt).IsRequired(false);
|
||||
builder.Property(f => f.Status).IsRequired().HasDefaultValue(ApprovalStatus.Pending);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
builder.Property(f => f.Amount).IsRequired().HasPrecision(18, 2);
|
||||
|
||||
builder.HasOne(f => f.Organisation)
|
||||
|
||||
@@ -16,7 +16,7 @@ public sealed class ChangeRequest : IEntityTypeConfiguration<Entities.ChangeRequ
|
||||
builder.Property(f => f.Justification).IsRequired().HasMaxLength(1024);
|
||||
builder.Property(f => f.RevisedBudget).IsRequired(false).HasPrecision(18, 2);
|
||||
builder.Property(f => f.RevisedEndedAt).IsRequired(false);
|
||||
builder.Property(f => f.Status).IsRequired().HasDefaultValue(ApprovalStatus.Pending);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
|
||||
builder.HasOne(f => f.Project)
|
||||
.WithMany()
|
||||
|
||||
@@ -14,7 +14,7 @@ public sealed class ComplianceItem : IEntityTypeConfiguration<Entities.Complianc
|
||||
builder.Property(f => f.UpdatedAt).IsRequired(false);
|
||||
builder.Property(f => f.Title).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Requirements).IsRequired().HasMaxLength(2048);
|
||||
builder.Property(f => f.Status).IsRequired().HasDefaultValue(ApprovalStatus.Pending);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
|
||||
builder.HasOne(f => f.Project)
|
||||
.WithMany()
|
||||
|
||||
@@ -17,7 +17,7 @@ public sealed class Contract : IEntityTypeConfiguration<Entities.Contract>
|
||||
builder.Property(f => f.EffectiveAt).IsRequired(false);
|
||||
builder.Property(f => f.ExpiresAt).IsRequired(false);
|
||||
builder.Property(f => f.TotalValue).IsRequired().HasPrecision(18, 2);
|
||||
builder.Property(f => f.Status).IsRequired().HasDefaultValue(ContractStatus.Draft);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
|
||||
builder.HasOne(f => f.Award)
|
||||
.WithOne(f => f.Contract)
|
||||
|
||||
@@ -14,7 +14,7 @@ public sealed class Disbursement : IEntityTypeConfiguration<Entities.Disbursemen
|
||||
builder.Property(f => f.CreatedAt).IsRequired().HasDefaultValueSql("now()");
|
||||
builder.Property(f => f.UpdatedAt).IsRequired(false);
|
||||
builder.Property(f => f.Amount).IsRequired().HasPrecision(18, 2);
|
||||
builder.Property(f => f.Status).IsRequired().HasDefaultValue(ApprovalStatus.Pending);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
|
||||
builder.HasOne(f => f.Project)
|
||||
.WithMany()
|
||||
|
||||
@@ -16,7 +16,7 @@ public sealed class Evidence : IEntityTypeConfiguration<Entities.Evidence>
|
||||
builder.Property(f => f.UpdatedAt).IsRequired(false);
|
||||
builder.Property(f => f.Version).IsRequired().HasDefaultValue(1);
|
||||
builder.Property(f => f.DocumentUrl).IsRequired();
|
||||
builder.Property(f => f.Status).IsRequired().HasDefaultValue(ApprovalStatus.Pending);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
|
||||
builder.HasOne(f => f.Project)
|
||||
.WithMany()
|
||||
|
||||
@@ -11,7 +11,7 @@ public sealed class Indicator : IEntityTypeConfiguration<Entities.Indicator>
|
||||
builder.Property(f => f.CreatedBy).IsRequired();
|
||||
builder.Property(f => f.CreatedAt).IsRequired().HasDefaultValueSql("now()");
|
||||
builder.Property(f => f.Name).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.UnitOfMeasure).IsRequired().HasDefaultValue(UnitOfMeasure.Percentage);
|
||||
builder.Property(f => f.UnitOfMeasure).IsRequired().HasConversion<int>().HasDefaultValueSql("2");
|
||||
builder.Property(f => f.BaselineAmount).IsRequired().HasPrecision(18, 2);
|
||||
builder.Property(f => f.TargetAmount).IsRequired().HasPrecision(18, 2);
|
||||
builder.Property(f => f.ActualAmount).IsRequired().HasPrecision(18, 2);
|
||||
|
||||
@@ -10,7 +10,7 @@ public sealed class Instrument : IEntityTypeConfiguration<Entities.Instrument>
|
||||
builder.Property(f => f.Code).IsRequired().HasMaxLength(50);
|
||||
builder.Property(f => f.Name).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Description).IsRequired(false).HasMaxLength(1024);
|
||||
builder.Property(f => f.Status).IsRequired().HasDefaultValue(ActivityStatus.Inactive);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("2");
|
||||
builder.Property(f => f.CreatedBy).IsRequired();
|
||||
builder.Property(f => f.CreatedAt).IsRequired().HasDefaultValueSql("now()");
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ public sealed class Issue : IEntityTypeConfiguration<Entities.Issue>
|
||||
builder.Property(f => f.ResolvedAt).IsRequired(false);
|
||||
builder.Property(f => f.Title).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Description).IsRequired().HasMaxLength(1024);
|
||||
builder.Property(f => f.Priority).IsRequired().HasDefaultValue(Priority.Low);
|
||||
builder.Property(f => f.Status).IsRequired().HasDefaultValue(ApprovalStatus.Pending);
|
||||
builder.Property(f => f.Priority).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
|
||||
builder.HasOne(f => f.Project)
|
||||
.WithMany()
|
||||
|
||||
@@ -14,7 +14,7 @@ public sealed class Milestone : IEntityTypeConfiguration<Entities.Milestone>
|
||||
builder.Property(f => f.UpdatedAt).IsRequired(false);
|
||||
builder.Property(f => f.DueAt).IsRequired();
|
||||
builder.Property(f => f.Name).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Status).HasDefaultValue(ApprovalStatus.Pending);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
|
||||
builder.HasOne(f => f.Project)
|
||||
.WithMany()
|
||||
|
||||
@@ -12,8 +12,8 @@ public sealed class Organisation : IEntityTypeConfiguration<Entities.Organisatio
|
||||
builder.Property(f => f.RegistrationNo).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Name).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Email).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Type).IsRequired().HasDefaultValue(OrganisationType.PrivateLimitedCompany);
|
||||
builder.Property(f => f.Status).IsRequired().HasDefaultValue(ActivityStatus.Active);
|
||||
builder.Property(f => f.Type).IsRequired().HasConversion<int>().HasDefaultValueSql("5");
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
|
||||
builder.HasOne(f => f.Creator)
|
||||
.WithMany()
|
||||
|
||||
@@ -8,7 +8,7 @@ public sealed class Portfolio : IEntityTypeConfiguration<Entities.Portfolio>
|
||||
|
||||
builder.HasKey(pk => pk.Id);
|
||||
builder.Property(f => f.CreatedBy).IsRequired();
|
||||
builder.Property(f => f.OwnedBy).IsRequired(false);
|
||||
builder.Property(f => f.OwnedBy).IsRequired();
|
||||
builder.Property(f => f.CreatedAt).IsRequired().HasDefaultValueSql("now()");
|
||||
builder.Property(f => f.Name).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Description).IsRequired(false).HasMaxLength(1024);
|
||||
@@ -22,7 +22,7 @@ public sealed class Portfolio : IEntityTypeConfiguration<Entities.Portfolio>
|
||||
builder.HasOne(f => f.Owner)
|
||||
.WithMany()
|
||||
.HasForeignKey(fk => fk.OwnedBy)
|
||||
.IsRequired(false)
|
||||
.IsRequired()
|
||||
.OnDelete(DeleteBehavior.NoAction);
|
||||
}
|
||||
}
|
||||
@@ -9,13 +9,13 @@ public sealed class Programme : IEntityTypeConfiguration<Entities.Programme>
|
||||
builder.HasKey(pk => pk.Id);
|
||||
builder.Property(f => f.PortfolioId).IsRequired();
|
||||
builder.Property(f => f.InstrumentId).IsRequired();
|
||||
builder.Property(f => f.OwnedBy).IsRequired(false);
|
||||
builder.Property(f => f.OwnedBy).IsRequired();
|
||||
builder.Property(f => f.CreatedBy).IsRequired();
|
||||
builder.Property(f => f.UpdatedBy).IsRequired(false);
|
||||
builder.Property(f => f.CreatedAt).IsRequired().HasDefaultValueSql("now()");
|
||||
builder.Property(f => f.UpdatedAt).IsRequired(false);
|
||||
builder.Property(f => f.Name).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Status).IsRequired(false).HasDefaultValue(ApprovalStatus.Pending);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
|
||||
builder.HasOne(f => f.Portfolio)
|
||||
.WithMany(f => f.Programmes)
|
||||
@@ -37,7 +37,7 @@ public sealed class Programme : IEntityTypeConfiguration<Entities.Programme>
|
||||
|
||||
builder.HasOne(f => f.Owner)
|
||||
.WithMany()
|
||||
.IsRequired(false)
|
||||
.IsRequired()
|
||||
.HasForeignKey(fk => fk.OwnedBy)
|
||||
.OnDelete(DeleteBehavior.NoAction);
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ public sealed class Project : IEntityTypeConfiguration<Entities.Project>
|
||||
builder.Property(f => f.EndedAt).IsRequired(false);
|
||||
builder.Property(f => f.Name).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Description).IsRequired().HasMaxLength(1024);
|
||||
builder.Property(f => f.StartedAt).IsRequired().HasDefaultValue(ApprovalStatus.Pending);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
|
||||
builder.HasOne(f => f.Programme)
|
||||
.WithMany(f => f.Projects)
|
||||
|
||||
@@ -10,8 +10,8 @@ public sealed class Risk : IEntityTypeConfiguration<Entities.Risk>
|
||||
builder.Property(f => f.ProjectId).IsRequired();
|
||||
builder.Property(f => f.CreatedBy).IsRequired();
|
||||
builder.Property(f => f.CreatedAt).IsRequired().HasDefaultValueSql("now()");
|
||||
builder.Property(f => f.Likelihood).IsRequired().HasDefaultValue(RiskLikelihood.Possible);
|
||||
builder.Property(f => f.Impact).IsRequired().HasDefaultValue(RiskImpact.Negligible);
|
||||
builder.Property(f => f.Likelihood).IsRequired().HasConversion<int>().HasDefaultValueSql("3");
|
||||
builder.Property(f => f.Impact).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
builder.Property(f => f.Name).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Description).IsRequired().HasMaxLength(1024);
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ public sealed class Rule : IEntityTypeConfiguration<Entities.Rule>
|
||||
builder.Property(f => f.UpdatedAt).IsRequired(false);
|
||||
builder.Property(f => f.Name).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Version).IsRequired().HasDefaultValue(1);
|
||||
builder.Property(f => f.Status).IsRequired().HasDefaultValue(ActivityStatus.Inactive);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("2");
|
||||
|
||||
builder.HasOne(f => f.Programme)
|
||||
.WithMany(f => f.Rules)
|
||||
|
||||
@@ -10,10 +10,10 @@ public sealed class SiteVisit : IEntityTypeConfiguration<Entities.SiteVisit>
|
||||
builder.Property(f => f.ProjectId).IsRequired();
|
||||
builder.Property(f => f.CreatedBy).IsRequired();
|
||||
builder.Property(f => f.CreatedAt).IsRequired().HasDefaultValueSql("now()");
|
||||
builder.Property(f => f.VisitedAt).IsRequired(false);
|
||||
builder.Property(f => f.VisitedAt).IsRequired();
|
||||
builder.Property(f => f.InspectorName).IsRequired();
|
||||
builder.Property(f => f.Findings).IsRequired(false).HasMaxLength(4096);
|
||||
builder.Property(f => f.Status).IsRequired().HasDefaultValue(ApprovalStatus.Pending);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("1");
|
||||
|
||||
builder.HasOne(f => f.Project)
|
||||
.WithMany()
|
||||
|
||||
@@ -8,7 +8,7 @@ public sealed class User : IEntityTypeConfiguration<Entities.User>
|
||||
|
||||
builder.HasKey(pk => pk.Id);
|
||||
builder.Property(f => f.Email).IsRequired().HasMaxLength(256);
|
||||
builder.Property(f => f.Status).IsRequired().HasDefaultValue(ActivityStatus.Inactive);
|
||||
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("2");
|
||||
builder.Property(f => f.LastLoginAt).IsRequired(false);
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,7 @@ public class Award
|
||||
|
||||
public DateTime CreatedAt { get; set; }
|
||||
|
||||
public DateTime UpdatedAt { get; set; }
|
||||
public DateTime? UpdatedAt { get; set; }
|
||||
|
||||
public ApprovalStatus Status { get; set; }
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ public class User
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public DateTime LastLoginAt { get; set; }
|
||||
public DateTime? LastLoginAt { get; set; }
|
||||
|
||||
public string? Email { get; set; }
|
||||
|
||||
|
||||
+1624
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1621
File diff suppressed because it is too large
Load Diff
@@ -9,8 +9,21 @@
|
||||
|
||||
<!-- Database -->
|
||||
<ItemGroup>
|
||||
<Using Include="Microsoft.EntityFrameworkCore" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.11" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="10.0.11" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Analyzers" Version="10.0.11" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.11">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="10.0.11" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.11">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.3" />
|
||||
|
||||
<Using Include="Microsoft.EntityFrameworkCore" />
|
||||
<Using Include="Microsoft.EntityFrameworkCore.Design" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user