Files
photo-live/packages/db-cn/prisma/migrations/20260920090329_watermark_versioning/migration.sql
T
2026-09-20 17:53:44 +08:00

40 lines
1.8 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 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;