Files
photo-live/packages/db-cn/prisma/migrations/20260920140205_embed_slots_domain/migration.sql
T
2026-09-20 22:22:19 +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.
-- P4b Task 2:展示位域(embed_slots/embed_slot_members)。
-- 校对手决:Prisma 生成 DDL 固定 utf8mb4_unicode_ci,逐表改写为库级约定的
-- utf8mb4_0900_bin(publicToken 的大小写敏感唯一语义依赖它,同 albums 口径)。
-- · embed_slots 双版本位:configVersion(嵌入端可见配置版本,任一管理面
-- 变更递增)/entityVersion(slot.updated 同步事件版本);无删除端点,
-- enabled=false 即下线。settings 为归一化 EmbedSlotSettings 全集 JSON。
-- · embed_slot_members:授权成员表**建而未用**(P4b 权限简化 admin-only,
-- 登记偏差;P5 授权面按需启用)。
-- · 两表均扁平字符串外键(albumId/userId/slotId 无 FK 约束,同相册域约定)。
-- CreateTable
CREATE TABLE `embed_slots` (
`id` VARCHAR(191) NOT NULL,
`publicToken` VARCHAR(32) NOT NULL,
`name` VARCHAR(64) NOT NULL,
`enabled` BOOLEAN NOT NULL DEFAULT true,
`albumId` VARCHAR(64) NULL,
`configVersion` INTEGER NOT NULL DEFAULT 1,
`settings` JSON NOT NULL,
`entityVersion` INTEGER NOT NULL DEFAULT 1,
`createdAt` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updatedAt` DATETIME(6) NOT NULL,
UNIQUE INDEX `embed_slots_publicToken_key`(`publicToken`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_bin;
-- CreateTable
CREATE TABLE `embed_slot_members` (
`id` VARCHAR(191) NOT NULL,
`slotId` VARCHAR(64) NOT NULL,
`userId` VARCHAR(64) NOT NULL,
`permission` VARCHAR(32) NOT NULL,
`createdAt` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
INDEX `embed_slot_members_userId_idx`(`userId`),
UNIQUE INDEX `embed_slot_members_slotId_userId_key`(`slotId`, `userId`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_bin;