feat(sync): cn event coverage, bootstrap and outbox sender
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
-- P2 Task 3:cn 事件补全——albums/categories/album_assets 增 entityVersion
|
||||
-- (事件版本条件自增,同 photos 模式);outbox_events 增 priority
|
||||
-- (normal|high:相册下线/照片隐藏删除类高优先级,发送器批次内优先投递)。
|
||||
-- VARCHAR 列显式 utf8mb4_0900_bin(沿用库级约定:--create-only 后手工定校对,
|
||||
-- Prisma 生成 DDL 固定 unicode_ci)。INTEGER 列无校对问题;新列全部带默认值,
|
||||
-- 存量行与 P1 流程不受影响(相册/分类/资产存量行版本从 1 起算)。
|
||||
ALTER TABLE `album_assets` ADD COLUMN `entityVersion` INTEGER NOT NULL DEFAULT 1;
|
||||
ALTER TABLE `albums` ADD COLUMN `entityVersion` INTEGER NOT NULL DEFAULT 1;
|
||||
ALTER TABLE `categories` ADD COLUMN `entityVersion` INTEGER NOT NULL DEFAULT 1;
|
||||
ALTER TABLE `outbox_events` ADD COLUMN `priority` VARCHAR(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_bin NOT NULL DEFAULT 'normal';
|
||||
@@ -66,6 +66,7 @@ model albums {
|
||||
downloadEnabled Boolean @default(true)
|
||||
originalDownloadEnabled Boolean @default(false)
|
||||
watermarkVersion Int @default(0)
|
||||
entityVersion Int @default(1) // P2 Task 3:album.updated 事件版本(同 photos 模式)
|
||||
createdAt DateTime @default(now()) @db.DateTime(6)
|
||||
updatedAt DateTime @updatedAt @db.DateTime(6)
|
||||
|
||||
@@ -99,10 +100,11 @@ model album_members {
|
||||
}
|
||||
|
||||
model categories {
|
||||
id String @id @default(cuid())
|
||||
albumId String @db.VarChar(64)
|
||||
sortOrder Int @default(0)
|
||||
createdAt DateTime @default(now()) @db.DateTime(6)
|
||||
id String @id @default(cuid())
|
||||
albumId String @db.VarChar(64)
|
||||
sortOrder Int @default(0)
|
||||
entityVersion Int @default(1) // P2 Task 3:category.* 事件版本(同 photos 模式)
|
||||
createdAt DateTime @default(now()) @db.DateTime(6)
|
||||
|
||||
@@index([albumId, sortOrder])
|
||||
}
|
||||
@@ -125,6 +127,7 @@ model album_assets {
|
||||
state String @default("pending") @db.VarChar(16) // pending|effective(行内一次性上传会话,P1b Task 3)
|
||||
expectedBytes Int @default(0) // init 申明字节数(complete head 核验依据)
|
||||
contentType String @default("") @db.VarChar(64) // init 申明 MIME(complete head 核验依据)
|
||||
entityVersion Int @default(1) // P2 Task 3:asset.updated 事件版本(仅 effective 迁移自增)
|
||||
createdAt DateTime @default(now()) @db.DateTime(6)
|
||||
|
||||
@@index([albumId, kind])
|
||||
@@ -198,6 +201,7 @@ model outbox_events {
|
||||
albumId String @db.VarChar(64)
|
||||
photoId String? @db.VarChar(64)
|
||||
entityVersion Int
|
||||
priority String @default("normal") @db.VarChar(16) // normal|high(P2 Task 3:下线/隐藏/删除类 high,发送器批次内优先)
|
||||
payload Json
|
||||
occurredAt DateTime @default(now()) @db.DateTime(6)
|
||||
deliveredAt DateTime? @db.DateTime(6)
|
||||
|
||||
Reference in New Issue
Block a user