feat: 完善广场功能
This commit is contained in:
+31
-8
@@ -1,4 +1,4 @@
|
||||
-- 表1:用户表
|
||||
-- 表1:用户快照表
|
||||
CREATE TABLE IF NOT EXISTS `users` (
|
||||
`id` INT NOT NULL COMMENT 'NewAPI 用户 ID,作为本站用户主键',
|
||||
`username` VARCHAR(191) NOT NULL DEFAULT '' COMMENT '用户名快照',
|
||||
@@ -9,7 +9,7 @@ CREATE TABLE IF NOT EXISTS `users` (
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
||||
`updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户快照表';
|
||||
|
||||
-- 表2:生图记录表
|
||||
CREATE TABLE IF NOT EXISTS `image_generations` (
|
||||
@@ -21,12 +21,12 @@ CREATE TABLE IF NOT EXISTS `image_generations` (
|
||||
`started_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '生图开始时间',
|
||||
`ended_at` DATETIME(3) NULL COMMENT '生图结束时间',
|
||||
`duration_ms` INT NULL COMMENT '生图耗时,单位毫秒',
|
||||
`image_url` VARCHAR(2048) NULL COMMENT 'NewAPI 上游返回的图片 URL',
|
||||
`hosted_image_url` VARCHAR(2048) NULL COMMENT 'Lsky 图床归档后的图片 URL',
|
||||
`image_url` VARCHAR(2048) NULL COMMENT '生成图片访问地址',
|
||||
`hosted_image_url` VARCHAR(2048) NULL COMMENT '图床归档后的稳定图片地址',
|
||||
`image_mime_type` VARCHAR(191) NULL COMMENT '图片 MIME 类型',
|
||||
`revised_prompt` TEXT NULL COMMENT '上游返回的修订提示词',
|
||||
`upstream_response` JSON NULL COMMENT '完整上游生图接口响应',
|
||||
`hosted_response` JSON NULL COMMENT '完整 Lsky 图床上传接口响应',
|
||||
`revised_prompt` TEXT NULL COMMENT '修订提示词',
|
||||
`upstream_response` JSON NULL COMMENT '完整上游生图响应,仅服务端排查使用',
|
||||
`hosted_response` JSON NULL COMMENT '完整图床归档响应,仅服务端排查使用',
|
||||
`error_message` TEXT NULL COMMENT '失败原因或图床归档失败提示',
|
||||
`archive_status` ENUM('NOT_REQUIRED', 'PENDING', 'RUNNING', 'SUCCEEDED', 'FAILED') NOT NULL DEFAULT 'NOT_REQUIRED' COMMENT '图床归档任务状态',
|
||||
`archive_attempts` INT NOT NULL DEFAULT 0 COMMENT '图床归档已尝试次数',
|
||||
@@ -48,7 +48,30 @@ CREATE TABLE IF NOT EXISTS `image_generations` (
|
||||
ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='生图记录表';
|
||||
|
||||
-- 表3:生图统计表
|
||||
-- 表3:广场发布表
|
||||
CREATE TABLE IF NOT EXISTS `plaza_posts` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '广场发布记录 ID',
|
||||
`image_generation_id` BIGINT UNSIGNED NOT NULL COMMENT '关联的生图记录 ID',
|
||||
`user_id` INT NOT NULL COMMENT 'NewAPI 用户 ID',
|
||||
`status` ENUM('PUBLIC', 'HIDDEN', 'REMOVED') NOT NULL DEFAULT 'PUBLIC' COMMENT '广场发布状态',
|
||||
`published_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '发布时间',
|
||||
`hidden_at` DATETIME(3) NULL COMMENT '用户取消公开时间',
|
||||
`removed_at` DATETIME(3) NULL COMMENT '管理侧下架时间',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
||||
`updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE INDEX `plaza_posts_image_generation_id_key` (`image_generation_id`),
|
||||
INDEX `plaza_posts_status_published_at_idx` (`status`, `published_at`),
|
||||
INDEX `plaza_posts_user_id_published_at_idx` (`user_id`, `published_at`),
|
||||
CONSTRAINT `plaza_posts_image_generation_id_fkey`
|
||||
FOREIGN KEY (`image_generation_id`) REFERENCES `image_generations` (`id`)
|
||||
ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `plaza_posts_user_id_fkey`
|
||||
FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
|
||||
ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='广场发布表';
|
||||
|
||||
-- 表4:生图统计表
|
||||
CREATE TABLE IF NOT EXISTS `generation_stats` (
|
||||
`id` VARCHAR(32) NOT NULL COMMENT '统计行 ID,固定为 global',
|
||||
`total_requests` INT NOT NULL DEFAULT 0 COMMENT '总生图请求数,包含成功和失败',
|
||||
|
||||
Reference in New Issue
Block a user