feat(career): add factual evidence bank
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
using JobTrackerApi.Data;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
namespace JobTrackerApi.Migrations;
|
||||
|
||||
[DbContext(typeof(JobTrackerContext))]
|
||||
[Migration("20260830136000_AdoptCareerEvidenceSchema")]
|
||||
public sealed class AdoptCareerEvidenceSchema : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder) => migrationBuilder.Sql(
|
||||
ActiveProvider.Contains("MySql", StringComparison.OrdinalIgnoreCase) ? MySqlDdl : SqliteDdl);
|
||||
protected override void Down(MigrationBuilder migrationBuilder) => migrationBuilder.Sql(
|
||||
ActiveProvider.Contains("MySql", StringComparison.OrdinalIgnoreCase) ? "DROP TABLE IF EXISTS `CareerEvidence`;" : "DROP TABLE IF EXISTS \"CareerEvidence\";");
|
||||
private const string SqliteDdl = """
|
||||
CREATE TABLE IF NOT EXISTS "CareerEvidence" (
|
||||
"Id" INTEGER NOT NULL CONSTRAINT "PK_CareerEvidence" PRIMARY KEY AUTOINCREMENT,
|
||||
"OwnerUserId" TEXT NOT NULL, "Category" TEXT NOT NULL, "Title" TEXT NOT NULL,
|
||||
"Statement" TEXT NOT NULL, "TagsJson" TEXT NOT NULL, "SourceType" TEXT NOT NULL,
|
||||
"SourceReference" TEXT NULL, "IsVerified" INTEGER NOT NULL,
|
||||
"CreatedAtUtc" TEXT NOT NULL, "UpdatedAtUtc" TEXT NOT NULL);
|
||||
CREATE INDEX IF NOT EXISTS "IX_CareerEvidence_Owner_Updated" ON "CareerEvidence" ("OwnerUserId", "UpdatedAtUtc");
|
||||
""";
|
||||
private const string MySqlDdl = """
|
||||
CREATE TABLE IF NOT EXISTS `CareerEvidence` (
|
||||
`Id` int NOT NULL AUTO_INCREMENT, `OwnerUserId` varchar(255) NOT NULL,
|
||||
`Category` varchar(32) NOT NULL, `Title` varchar(255) NOT NULL,
|
||||
`Statement` longtext NOT NULL, `TagsJson` longtext NOT NULL,
|
||||
`SourceType` varchar(32) NOT NULL, `SourceReference` varchar(500) NULL,
|
||||
`IsVerified` tinyint(1) NOT NULL, `CreatedAtUtc` datetime(6) NOT NULL,
|
||||
`UpdatedAtUtc` datetime(6) NOT NULL, PRIMARY KEY (`Id`)) CHARACTER SET=utf8mb4;
|
||||
CREATE INDEX IF NOT EXISTS `IX_CareerEvidence_Owner_Updated` ON `CareerEvidence` (`OwnerUserId`, `UpdatedAtUtc`);
|
||||
""";
|
||||
}
|
||||
@@ -987,6 +987,24 @@ namespace JobTrackerApi.Migrations
|
||||
b.ToTable("Companies");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("JobTrackerApi.Models.CareerEvidence", b =>
|
||||
{
|
||||
b.Property<int>("Id").ValueGeneratedOnAdd().HasColumnType("INTEGER");
|
||||
b.Property<string>("Category").IsRequired().HasMaxLength(32).HasColumnType("TEXT");
|
||||
b.Property<DateTimeOffset>("CreatedAtUtc").HasColumnType("TEXT");
|
||||
b.Property<bool>("IsVerified").HasColumnType("INTEGER");
|
||||
b.Property<string>("OwnerUserId").IsRequired().HasMaxLength(255).HasColumnType("TEXT");
|
||||
b.Property<string>("SourceReference").HasMaxLength(500).HasColumnType("TEXT");
|
||||
b.Property<string>("SourceType").IsRequired().HasMaxLength(32).HasColumnType("TEXT");
|
||||
b.Property<string>("Statement").IsRequired().HasColumnType("TEXT");
|
||||
b.Property<string>("TagsJson").IsRequired().HasColumnType("TEXT");
|
||||
b.Property<string>("Title").IsRequired().HasMaxLength(255).HasColumnType("TEXT");
|
||||
b.Property<DateTimeOffset>("UpdatedAtUtc").HasColumnType("TEXT");
|
||||
b.HasKey("Id");
|
||||
b.HasIndex("OwnerUserId", "UpdatedAtUtc");
|
||||
b.ToTable("CareerEvidence");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("JobTrackerApi.Models.Correspondence", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
|
||||
Reference in New Issue
Block a user