必须在项目根目录创建.cursor/rules目录并放入.mdc格式的database-conventions.mdc文件,内容需明确表名/字段名用snake_case、主键为id、时间字段为created_at/updated_at、逻辑删除字段为is_deleted,且orm映射须显式指定列名。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让 Cursor AI 在生成数据库相关代码时,严格遵循你项目的表结构命名、字段类型映射、逻辑删除处理、事务边界等约定,而不是凭空套用通用模板。
创建项目级规则目录
在项目根目录下执行命令:mkdir -p .cursor/rules。这一步必须做,否则 Cursor 不会识别任何项目级规则文件。
【.cursor/rules 是唯一被识别的路径】。放在 .cursor/ 下其他位置、或命名为 .cursorrules(单文件旧格式)均无效,AI 将忽略全部数据库规范。
新建数据库专用规则文件
在 .cursor/rules 目录中新建文件:database-conventions.mdc。
文件名不重要,但后缀必须是 .mdc —— 这是 Cursor 当前版本唯一支持的项目规则文件格式,.yaml 或 .txt 会被静默跳过。
写入可执行的数据库规范
打开 database-conventions.mdc,粘贴以下内容(根据你的实际技术栈选择对应段落):
---
description: 数据库开发强制规范
alwaysApply: true
---
# 数据库规范
## 基础约束
- 所有表名使用小写+下划线(snake_case),如 user_profile、order_item
- 所有字段名使用小写+下划线,禁止驼峰
- 主键字段统一命名为 id,类型为 BIGINT UNSIGNED AUTO_INCREMENT
- 创建时间字段名必须为 created_at,类型为 DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
- 更新时间字段名必须为 updated_at,类型为 DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
- 逻辑删除字段名必须为 is_deleted,TINYINT(1) NOT NULL DEFAULT 0,0=未删,1=已删
## ORM 映射要求
- MyBatis-Plus:实体类字段用 @TableField("real_column_name") 显式指定映射,禁止依赖自动驼峰转换
- Prisma:模型字段必须加 @@map("real_column_name"),且关系字段名需与外键字段名一致
- TypeORM:列名必须用 @Column({ name: "real_column_name" }) 显式声明
这段文字不需要额外注释或说明,直接保存即可。Cursor 会逐行解析,把每条破折号开头的语句当作一条独立指令喂给 AI。
验证规则是否生效
重启 Cursor 编辑器,打开任意 SQL 文件或 DAO 层代码文件,输入“生成用户表插入语句”并触发 AI 补全。
若返回的 SQL 中包含 INSERT INTO user_profile (id, created_at, updated_at, is_deleted) 而非 INSERT INTO UserProfile (Id, CreatedAt...),说明规则已加载成功。










