2026/4/5 22:26:53
网站建设
项目流程
做网站设计需要学什么,网站建设多少钱京icp备,企业网站 flash,公众号模板【RuoYi-SpringBoot3-Pro】#xff1a;使用 Dify AI 快速生成多数据库建表语句告别手写 SQL#xff0c;一句话生成标准化建表语句#xff0c;支持 MySQL、PostgreSQL、openGauss、SQLite 多种数据库#xff0c;再也不用为给字段起名字发愁了。GitHub:https://github.com/u…【RuoYi-SpringBoot3-Pro】使用 Dify AI 快速生成多数据库建表语句告别手写 SQL一句话生成标准化建表语句支持 MySQL、PostgreSQL、openGauss、SQLite 多种数据库再也不用为给字段起名字发愁了。GitHub:https://github.com/undsky/RuoYi-SpringBoot3-Pro在企业级项目开发中数据库表结构设计是一项繁琐但重要的工作。不同数据库的语法差异、字段命名规范、索引创建等细节往往需要开发者花费大量时间。为了解决这个痛点基于 Dify 平台开发了一个AI 驱动的数据库建表工作流只需输入简单的表名和字段描述即可自动生成符合规范的建表语句。功能特点 多数据库支持数据库主键类型适用场景MySQLAUTO_INCREMENT互联网应用、中小型系统PostgreSQL/瀚高IDENTITY政企系统、国产化替代openGaussBIGSERIAL华为生态、金融系统SQLiteAUTOINCREMENT移动端、嵌入式、轻量应用 智能字段命名支持两种命名规范•拼音适合国内项目如dingdan订单、shangpin商品•英文适合国际化项目如order、product️ 标准化表结构自动生成的表包含以下标准字段id -- 主键ID自增 tenant_id -- 租户ID多租户支持 user_id -- 用户ID dept_id -- 部门ID status -- 状态默认0 create_by -- 创建者 create_time -- 创建时间 update_by -- 更新者 update_time -- 更新时间 remark -- 备注 sort -- 排序 自动创建索引为常用查询字段自动创建索引•idx_tenant_id- 租户查询优化•idx_user_id- 用户查询优化•idx_dept_id- 部门查询优化快速开始1. 导入工作流1. 登录 Dify[1] 平台2. 创建新应用 → 选择「导入 DSL」3. 上传Dify_数据库建表.yml文件4. 配置 LLM 模型推荐使用通义千问 deepseek-v3 或其他大模型2. 配置参数工作流提供两个配置项•数据库选择目标数据库类型•字段命名规范选择拼音或英文3. 输入格式表名字段1类型字段2类型字段3说明• 一行代表一张表• 字段类型可选未指定时由 AI 自动推断• 支持常见类型varchar、int、bigint、decimal、datetime、text 等使用示例示例 1电商订单表输入订单订单号varchar金额decimal下单时间datetime收货地址状态MySQL 输出DROP TABLE IF EXISTS biz_dingdan; CREATE TABLE biz_dingdan ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT ID, tenant_id bigint(20) NULL DEFAULT NULL COMMENT 租户ID, user_id bigint(20) NULL DEFAULT NULL COMMENT 用户ID, dept_id bigint(20) NULL DEFAULT NULL COMMENT 部门ID, dingdanhao varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 订单号, jine decimal(20,4) NULL DEFAULT NULL COMMENT 金额, xiadan_shijian datetime(0) NULL DEFAULT NULL COMMENT 下单时间, shouhuo_dizhi varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 收货地址, status char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 0 COMMENT 状态, create_by varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT COMMENT 创建者, create_time datetime(0) NULL DEFAULT NULL COMMENT 创建时间, update_by varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT COMMENT 更新者, update_time datetime(0) NULL DEFAULT NULL COMMENT 更新时间, remark varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 备注, sort int(11) NULL DEFAULT 0 COMMENT 排序, PRIMARY KEY (id) USING BTREE, INDEX idx_tenant_id(tenant_id) USING BTREE, INDEX idx_user_id(user_id) USING BTREE, INDEX idx_dept_id(dept_id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 1 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 订单 ROW_FORMAT Dynamic;示例 2多表批量生成输入商品商品名称价格decimal库存int分类IDbigint 商品分类分类名称父级IDbigint图标输出自动生成两张表的完整建表语句示例 3PostgreSQL/瀚高数据库输入用户积分积分值int来源获取时间timestampPostgreSQL 输出DROP TABLE IF EXISTS biz_yonghu_jifen; CREATE TABLE biz_yonghu_jifen ( id int8 NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1 ), tenant_id int8, user_id int8, dept_id int8, jifen_zhi int4 DEFAULT NULL, laiyuan varchar(100) COLLATE pg_catalog.default, huoqu_shijian timestamp(6), status char(1) COLLATE pg_catalog.default DEFAULT 0::bpchar, create_by varchar(30) COLLATE pg_catalog.default DEFAULT ::character varying, create_time timestamp(6), update_by varchar(30) COLLATE pg_catalog.default DEFAULT ::character varying, update_time timestamp(6), remark varchar(255) COLLATE pg_catalog.default, sort int4 DEFAULT 0 ); COMMENT ON TABLE biz_yonghu_jifen IS 用户积分; COMMENT ON COLUMN biz_yonghu_jifen.id IS ID; COMMENT ON COLUMN biz_yonghu_jifen.tenant_id IS 租户ID; -- ... 更多字段注释 CREATE INDEX biz_yonghu_jifen_idx_tenant_id ON biz_yonghu_jifen USING btree (tenant_id); CREATE INDEX biz_yonghu_jifen_idx_user_id ON biz_yonghu_jifen USING btree (user_id); CREATE INDEX biz_yonghu_jifen_idx_dept_id ON biz_yonghu_jifen USING btree (dept_id); ALTER TABLE biz_yonghu_jifen ADD CONSTRAINT biz_yonghu_jifen_pkey PRIMARY KEY (id);工作流原理┌─────────┐ ┌──────────────┐ ┌─────────────┐ ┌──────────┐ │ 开始 │───▶│ 条件分支 │───▶│ LLM 节点 │───▶│ 直接回复 │ │ (参数) │ │ (数据库类型) │ │ (生成SQL) │ │ (输出) │ └─────────┘ └──────────────┘ └─────────────┘ └──────────┘ │ ├── MySQL ──────▶ MySQL LLM ├── PostgreSQL ─▶ PostgreSQL LLM ├── openGauss ──▶ openGauss LLM └── SQLite ─────▶ SQLite LLM每个数据库分支使用专门的 Prompt 模板确保生成的 SQL 语法完全符合目标数据库规范。最佳实践1. 字段类型建议业务场景推荐类型金额、价格decimal(20,4)主键关联bigint状态标识char(1)短文本名称varchar(50-100)长文本描述varchar(255) 或 text时间戳datetime / timestamp2. 表名规范• 生成的表名统一添加biz_前缀与系统表区分• 表名自动转为小写避免大小写敏感问题3. 与代码生成器配合生成建表语句后可以1. 执行 SQL 创建表2. 使用 RuoYi 代码生成器生成 CRUD 代码3. 快速完成业务模块开发常见问题Q: 如何修改默认的标准字段A: 编辑工作流中各 LLM 节点的 Prompt 模板修改表结构定义部分。Q: 支持其他数据库吗A: 可以复制现有分支添加新的数据库类型和对应的 Prompt 模板。Q: 生成的 SQL 可以直接执行吗A: 是的生成的 SQL 经过验证可以直接在对应数据库中执行。获取工作流工作流配置文件位于 RuoYi-SpringBoot3-Pro 项目的sql/Dify_数据库建表.yml。项目地址RuoYi-SpringBoot3-Pro[2] 这个工作流是 RuoYi-SpringBoot3-Pro 项目的一部分旨在提升开发效率。如果觉得有帮助欢迎 Star 支持引用链接[1]Dify:https://dify.ai[2]RuoYi-SpringBoot3-Pro:https://github.com/undsky/RuoYi-SpringBoot3-Pro