90 lines
3.4 KiB
C#
90 lines
3.4 KiB
C#
using System;
|
|
using Data;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
#nullable disable
|
|
|
|
namespace Data.Migrations
|
|
{
|
|
/// <inheritdoc />
|
|
[DbContext(typeof(AppDbContext))]
|
|
[Migration("20260903010000_PrintPresetTemplateMarkdown")]
|
|
public partial class PrintPresetTemplateMarkdown : Migration
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.AddColumn<string>(
|
|
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");""");
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
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");""");
|
|
}
|
|
}
|
|
}
|