using System; using Data; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace Data.Migrations { /// [DbContext(typeof(AppDbContext))] [Migration("20260903010000_PrintPresetTemplateMarkdown")] public partial class PrintPresetTemplateMarkdown : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.AddColumn( name: "TemplateMarkdown", table: "PrintPresets", type: "TEXT", nullable: false, defaultValue: ""); migrationBuilder.Sql( """ UPDATE PrintPresets SET TemplateMarkdown = COALESCE( (SELECT Content FROM Notes WHERE Notes.Id = PrintPresets.NoteId), '' ); """); migrationBuilder.Sql( """ CREATE TABLE "PrintPresets_new" ( "Id" INTEGER NOT NULL CONSTRAINT "PK_PrintPresets" PRIMARY KEY AUTOINCREMENT, "Name" TEXT NOT NULL, "TemplateMarkdown" TEXT NOT NULL, "EntityType" TEXT NOT NULL, "FiltersJson" TEXT NOT NULL, "UpdatedAt" TEXT NOT NULL ); """); migrationBuilder.Sql( """ INSERT INTO "PrintPresets_new" ("Id", "Name", "TemplateMarkdown", "EntityType", "FiltersJson", "UpdatedAt") SELECT "Id", "Name", "TemplateMarkdown", "EntityType", "FiltersJson", "UpdatedAt" FROM "PrintPresets"; """); migrationBuilder.Sql("""DROP TABLE "PrintPresets";"""); migrationBuilder.Sql("""ALTER TABLE "PrintPresets_new" RENAME TO "PrintPresets";"""); migrationBuilder.Sql( """CREATE UNIQUE INDEX "IX_PrintPresets_Name" ON "PrintPresets" ("Name");"""); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.Sql( """ CREATE TABLE "PrintPresets_old" ( "Id" INTEGER NOT NULL CONSTRAINT "PK_PrintPresets" PRIMARY KEY AUTOINCREMENT, "Name" TEXT NOT NULL, "NoteId" INTEGER NOT NULL, "EntityType" TEXT NOT NULL, "FiltersJson" TEXT NOT NULL, "UpdatedAt" TEXT NOT NULL ); """); migrationBuilder.Sql( """ INSERT INTO "PrintPresets_old" ("Id", "Name", "NoteId", "EntityType", "FiltersJson", "UpdatedAt") SELECT "Id", "Name", 0, "EntityType", "FiltersJson", "UpdatedAt" FROM "PrintPresets"; """); migrationBuilder.Sql("""DROP TABLE "PrintPresets";"""); migrationBuilder.Sql("""ALTER TABLE "PrintPresets_old" RENAME TO "PrintPresets";"""); migrationBuilder.Sql( """CREATE UNIQUE INDEX "IX_PrintPresets_Name" ON "PrintPresets" ("Name");"""); migrationBuilder.Sql( """CREATE INDEX "IX_PrintPresets_NoteId" ON "PrintPresets" ("NoteId");"""); } } }