원클릭으로
mysql-ddl-conventions
MySQL 建表与字段规范(面向 Java 管理端业务:用户、LLM 配置、数据集、知识文件、解析任务)。统一命名、索引、字段类型、时间戳、引擎字符集与注释要求,便于研发与 DBA 评审落地。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
MySQL 建表与字段规范(面向 Java 管理端业务:用户、LLM 配置、数据集、知识文件、解析任务)。统一命名、索引、字段类型、时间戳、引擎字符集与注释要求,便于研发与 DBA 评审落地。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
当用户要求基于某个需求、功能、改造、技术方案或项目实践生成博客文章时使用;必须结合用户给出的完整需求、当前项目真实实现逻辑、业务场景和代码/文档上下文做深入分析,输出通俗易懂且专业的 Markdown 博客到 `.specs/blog/《博客名称》.md`。
当修改 AGENTS.md/CLAUDE.md、docs/api、docs/internals、docs/ops,或代码变更影响这些文档记录的 API、MySQL schema、MQ 契约、Redis 缓存、OSS、错误码、模块架构、配置时,检查并同步更新对应文档,保证项目文档自动维护。
SpringDoc OpenAPI 3 中文注解生成工作流。为 Spring Boot Controller 和 DTO 生成符合企业级规范的中文 Swagger 注解(@Tag、@Operation、@Parameter、@Schema)。
brief.md 和 acceptance.feature 已冻结后,生成 .specs/<需求名>/technical_design.md;必须基于真实 Java 代码、组件文档和契约。
为 toLink-Service 的 HTTP 接口构建并执行全面的 curl 黑盒测试。分析待测接口与边界条件,必要时直连数据库或经接口造数,对本地已启动服务发起 curl 请求,断言响应,最终在对话中返回测试结果汇总。
实现完成后,从当前改动创建规范分支、提交并发起 PR。
| name | mysql-ddl-conventions |
| description | MySQL 建表与字段规范(面向 Java 管理端业务:用户、LLM 配置、数据集、知识文件、解析任务)。统一命名、索引、字段类型、时间戳、引擎字符集与注释要求,便于研发与 DBA 评审落地。 |
| when_to_use | 当用户要求设计新的数据库表、编写 DDL 语句、补充字段约束、添加索引、优化表结构或统一建表规范时激活。触发示例:'帮我设计一个XXX表'、'写个建表语句'、'这个表需要加什么索引'、'DDL怎么写' |
docs/api/mysql_schema.md:现有表结构与字段说明scripts/db/init.sql:当前 DDL 权威来源,新表风格与现有表保持一致link-api/src/main/resources/schema.sql:local / test H2 schema,字段与索引需跟 init.sql 对齐_ 分隔(snake_case),例如 file_type、task_status。PRIMARY KEY,无需额外命名。idx_ 开头,后接字段名,例如 idx_dataset_id。uk_ 开头,后接字段名,例如 uk_user_name。knowledge_file_id、status、created_atuser_id、tenant_idcreated_at / updated_atPRIMARY KEY),避免写入性能下降与维护复杂度上升。DATE(created_at))。% 开头的模糊匹配导致无法走索引。VARCHAR(36) 存储 UUID,适合分布式生成、跨系统对齐与避免 ID 暴露。BIGINT AUTO_INCREMENT,适合强依赖数据库自增、有序写入与高频 join 场景。NOT NULL:
@TableId)统一生成并写入。VARCHAR 存储具有明确语义的英文状态词(如 PENDING、SUCCESS),提升可读性与扩展性。VARCHAR(20)),并在业务初始化时设置 DEFAULT(例如 DEFAULT 'PENDING')。link-model 模块,字段注释中列举所有枚举值。INT NOT NULL DEFAULT 0,避免聚合运算时出现异常。page_count、chunk_count):
INT DEFAULT NULL,在任务完成前保持为空,以区分"尚未计算"和"确认为 0"。LONGTEXT。DEFAULT NULL,业务写入前保持为空。所有业务表建议由数据库层自动维护创建/更新时间:
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'若有软删除需求,使用 is_deleted TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除:0 否 1 是',不使用 deleted_at。
所有新表 DDL 尾部必须显式指定:
ENGINE=InnoDB(事务与锁支持)DEFAULT CHARSET=utf8mb4(Unicode/Emoji 兼容)COLLATE=utf8mb4_unicode_ciCOMMENT。status、type)必须在注释中列举所有可能值及含义。
COMMENT '状态:PENDING 待处理, PROCESSING 处理中, SUCCESS 成功, FAILED 失败'COMMENT,描述表的总体业务用途。当用户要求"生成建表语句/补齐字段约束/补齐索引与注释"时,按以下模板输出并据实填充:
CREATE TABLE `your_table_name` (
-- 主键二选一:UUID 或自增(按业务选择其一)
-- `id` varchar(36) NOT NULL COMMENT '主键 UUID',
-- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键自增 ID',
`status` varchar(20) NOT NULL DEFAULT 'PENDING' COMMENT '状态:PENDING 待处理, SUCCESS 成功, FAILED 失败',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
-- 业务索引(按真实查询模式选 3-5 个)
KEY `idx_status` (`status`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='表用途说明';
DDL 落地后必须同步:
scripts/db/init.sql:追加或更新建表语句link-api/src/main/resources/schema.sql:同步 local / test H2 表结构、唯一键和索引docs/api/mysql_schema.md:更新表说明和字段描述link-model 模块:创建或更新对应 Entity(@TableName、@TableId、@TableField)