codebuddy提供四种sql建表生成路径:一、craft智能体自然语言驱动,自动推导主键/外键/索引;二、cli命令行批量生成,支持json/yaml输入;三、ide上下文感知补全,基于现有sql扩展;四、mcp服务动态元数据驱动,实时对接生产库结构。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望借助CodeBuddy自动生成符合业务逻辑的SQL建表语句,但不确定如何准确描述需求或配置上下文,可能导致生成字段缺失、类型错误或约束遗漏。以下是多种可立即执行的实现路径:
一、在Craft智能体中自然语言驱动建表
该方式适用于明确业务实体但不熟悉数据库规范的开发者,CodeBuddy会自动推导主键、外键、索引及注释,并输出标准MySQL DDL语句。
1、打开CodeBuddy IDE或VS Code插件,进入Craft工作区。
2、输入类似以下结构化自然语言指令:“创建用户中心模块:需包含用户表(id主键自增、手机号唯一、密码加密存储、注册时间、状态枚举)、角色表(code唯一、名称、描述)、用户角色关联表(联合主键);所有表启用软删除,添加created_at和updated_at时间戳字段”。
3、点击“生成”按钮,等待CodeBuddy解析语义并调用mcp-server-mysql上下文服务读取当前库版本特性。
4、确认生成的SQL语句中字段类型是否匹配(如手机号用VARCHAR(11)而非INT),必要时在对话框中追加约束要求,例如:“password_hash字段长度必须为255,使用utf8mb4_bin排序规则”。
二、通过CLI命令行批量生成多表DDL
该方式适合已有功能清单或Excel字段表的团队,利用CodeBuddy CLI跳过IDE环境,直接在终端生成可部署脚本,支持JSON/YAML输入源。
1、确保已安装CodeBuddy CLI并完成codebuddy login认证。
2、准备一个schema_input.json文件,内容为纯业务字段描述,例如:{"entity": "订单", "fields": [{"name": "order_no", "type": "string", "length": 32, "desc": "全局唯一订单号"}, {"name": "amount", "type": "decimal", "precision": 10, "scale": 2, "desc": "实付金额"}]}。
3、执行命令:codebuddy sql:generate --input schema_input.json --dialect mysql --output orders_ddl.sql。
4、检查生成的orders_ddl.sql中是否包含ENGINE=InnoDB DEFAULT CHARSET=utf8mb4及必要的COMMENT注释。
三、在IDE中选中代码块触发上下文感知补全
该方式适用于已有部分SQL片段或旧表结构需迁移升级的场景,CodeBuddy基于当前文件中的CREATE TABLE语句、注释或相邻代码自动推理扩展逻辑。
1、在VS Code中打开一个已有CREATE TABLE users语句的SQL文件。
2、将光标置于末尾分号前,按下快捷键Ctrl+Enter(Windows/Linux)或Cmd+Enter(Mac)唤出AI指令面板。
3、输入指令:“为该表新增手机号验证状态字段:verified_at DATETIME NULL COMMENT '手机号验证时间',并在verified_at上添加索引”。
4、接受补全建议后,CodeBuddy会在原语句后插入verified_at DATETIME NULL COMMENT '手机号验证时间', KEY `idx_verified_at` (`verified_at`)。
四、对接MCP服务实现动态元数据驱动建表
该方式适用于需严格对齐生产环境结构或跨版本兼容的高可靠性场景,CodeBuddy通过mcp-server-mysql实时读取目标库的information_schema,确保生成语句与实际环境零偏差。
1、在CodeBuddy设置中启用MCP服务,配置mcp-servers.mysql指向开发库地址及账号权限。
2、新建一个Craft任务,明确声明:“请连接至开发环境MySQL,读取现有users表结构,生成一张新表user_profiles,字段需继承users.id为外键,新增real_name VARCHAR(50)、id_card CHAR(18)、avatar_url TEXT,并强制启用ON DELETE CASCADE”。
3、授权CodeBuddy访问数据库后,它将先执行DESCRIBE users,再比对字段类型兼容性,最后输出含完整FOREIGN KEY定义的建表语句。
4、核对生成语句中CONSTRAINT `fk_user_profiles_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE是否存在且引用正确。










