纯前端本地处理 · 自动类型映射 · 索引生成 · 关系识别
零依赖 · 可离线使用SQL转Go Ent ORM工具能做什么?
SQL转Go Ent ORM工具是一款纯前端在线工具,用于将SQL CREATE TABLE语句自动转换为Go Ent框架的Schema定义代码。输入SQL建表语句,工具自动映射字段类型、生成字段定义、索引、外键关系(Edge)、枚举类型等,输出符合Ent规范的Go代码。支持多表批量转换,自动识别表间关系。所有处理在浏览器本地完成。
核心功能
- 智能类型映射:自动将SQL类型映射为Ent字段类型,如VARCHAR→String、INT→Int、TIMESTAMP→Time
- 关系生成:识别FOREIGN KEY约束,自动生成Ent Edge关系定义
- 索引生成:自动识别UNIQUE、INDEX约束,生成Ent Index定义
- 枚举支持:SQL ENUM类型自动转换为Ent enum字段和Go常量
- 默认值映射:SQL DEFAULT值自动转换为Ent Default函数
使用教程
步骤1:在输入框粘贴SQL CREATE TABLE语句。
步骤2:选择生成选项(Edge关系、索引、验证器、包名)。
步骤3:点击"转换为Ent"或Ctrl+Enter,查看生成的Go代码。
步骤4:点击"复制代码"或"下载"导出结果。
应用场景
数据库迁移
从现有数据库Schema生成Ent代码,快速将传统SQL项目迁移到Ent ORM框架。
新项目初始化
先用SQL设计数据模型,再一键生成Ent Schema,加速Go项目开发启动。
团队协作
DBA用SQL设计表结构,开发者一键转Ent代码,减少手动转换错误。
文档生成
将SQL DDL转为Ent Schema代码,作为项目文档和代码参考。
扩展知识
Ent是Facebook开源的Go语言ORM框架,采用代码生成方式,通过Schema定义数据模型,自动生成CRUD代码。Ent Schema使用流畅的API定义字段和关系,如field.String("name").Default("")。与GORM等反射式ORM不同,Ent在编译期生成类型安全代码,性能更优。SQL到Ent的映射核心是类型转换:SQL的VARCHAR/CHAR→Ent String,INT/INTEGER→Ent Int,BIGINT→Ent Int64,BOOLEAN/BOOL→Ent Bool,TIMESTAMP/DATETIME→Ent Time,DECIMAL→Ent Float64等。
常见问题 (FAQ)
什么是SQL转Ent?
SQL转Ent是将SQL CREATE TABLE语句自动转换为Go Ent ORM的Schema定义代码,包括字段类型映射、默认值、索引、外键关系等。
支持哪些SQL类型?
支持INT/BIGINT/VARCHAR/TEXT/BOOLEAN/TIMESTAMP/DATE/DECIMAL/FLOAT/JSON/ENUM等常见SQL类型的自动映射。
能处理外键关系吗?
可以。工具自动识别FOREIGN KEY约束,生成Ent的Edge关系定义(O2O/O2M/M2O/M2M)。
支持枚举类型吗?
支持。SQL ENUM类型会自动转换为Ent的enum字段定义和Go常量。
数据会上传服务器吗?
不会。所有SQL转Ent操作均在浏览器本地完成,数据绝不上传服务器。
生成的代码可以直接使用吗?
生成的代码是标准的Ent Schema格式,可直接放入Ent项目中使用。建议根据业务需求调整字段验证和钩子。