243b2f8721
Co-Authored-By: Claude Code <noreply@anthropic.com>
40 lines
1.8 KiB
SQL
40 lines
1.8 KiB
SQL
-- P4a Task 3:水印版本化——albums 双版本位列(watermarkVersion 已有 P1 起,
|
||
-- 本迁移补「有效版本位」watermarkEnabled/watermarkEffectiveVersion,语义见
|
||
-- packages/contracts/src/watermark.ts)+ 配置版本账本 watermark_configs +
|
||
-- 历史重生成任务 watermark_jobs(id 兼作对外 jobId 与 BullMQ jobId)。
|
||
-- 校对手决:Prisma 生成 DDL 固定 utf8mb4_unicode_ci,逐表改写为库级约定的
|
||
-- utf8mb4_0900_bin(albumId/id/errorCode 等字符串列的大小写敏感语义依赖它;
|
||
-- 新增两列非 VARCHAR,无校对关注)。
|
||
-- AlterTable
|
||
ALTER TABLE `albums` ADD COLUMN `watermarkEffectiveVersion` INTEGER NOT NULL DEFAULT 0,
|
||
ADD COLUMN `watermarkEnabled` BOOLEAN NOT NULL DEFAULT false;
|
||
|
||
-- CreateTable
|
||
CREATE TABLE `watermark_configs` (
|
||
`id` VARCHAR(191) NOT NULL,
|
||
`albumId` VARCHAR(64) NOT NULL,
|
||
`configVersion` INTEGER NOT NULL,
|
||
`config` JSON NOT NULL,
|
||
`createdAt` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||
|
||
UNIQUE INDEX `watermark_configs_albumId_configVersion_key`(`albumId`, `configVersion`),
|
||
PRIMARY KEY (`id`)
|
||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_bin;
|
||
|
||
-- CreateTable
|
||
CREATE TABLE `watermark_jobs` (
|
||
`id` VARCHAR(191) NOT NULL,
|
||
`albumId` VARCHAR(64) NOT NULL,
|
||
`configVersion` INTEGER NOT NULL,
|
||
`state` VARCHAR(16) NOT NULL DEFAULT 'pending',
|
||
`progress` INTEGER NOT NULL DEFAULT 0,
|
||
`total` INTEGER NOT NULL DEFAULT 0,
|
||
`failed` INTEGER NOT NULL DEFAULT 0,
|
||
`errorCode` VARCHAR(64) NULL,
|
||
`createdAt` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||
`updatedAt` DATETIME(6) NOT NULL,
|
||
|
||
INDEX `watermark_jobs_albumId_createdAt_idx`(`albumId`, `createdAt`),
|
||
PRIMARY KEY (`id`)
|
||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_bin;
|