SQL 转 Yii
SQL CREATE TABLE 语句转 Yii2 Model/ActiveRecord/Migration 代码,自动解析字段类型与注释
SQL 转 Yii2 代码生成器
粘贴 SQL 建表语句,自动生成 Model、ActiveRecord 查询示例与 Migration 代码
生成选项
生成结果
// 点击"生成代码"按钮后在此显示结果...
SQL 类型到 PHP 类型映射表
| SQL 类型 | PHP 类型 | Yii2 校验规则 | 说明 |
|---|---|---|---|
| INT, INTEGER, BIGINT | integer | integer | 整数类型 |
| TINYINT, SMALLINT | integer | integer | 小整数 |
| DECIMAL, FLOAT, DOUBLE | double | double / number | 浮点数 |
| VARCHAR, CHAR | string | string, max=N | 定长/变长字符串 |
| TEXT, LONGTEXT | string | string | 长文本 |
| DATE | string | date | 日期 |
| DATETIME, TIMESTAMP | string / int | datetime | 日期时间 |
| BOOLEAN, BOOL | boolean | boolean | 布尔值 |
| JSON | mixed | safe | JSON 结构 |
使用说明
- 在 SQL 输入框粘贴 CREATE TABLE 语句(可点击"载入示例"快速开始)
- 设置命名空间、基类、是否生成 labels/rules 等选项
- 点击"生成代码"按钮,下方将自动生成 PHP 代码
- 切换 Tab 可查看 Model 类、ActiveRecord 查询示例、Migration 三种代码
- 点击"复制代码"将当前 Tab 内容复制到剪贴板,或"下载文件"保存为 .php 文件
- SQL 解析支持:表名、字段名/类型/长度、是否 NULL、默认值、主键、自增、注释
适用场景
- Yii2 项目快速开发:从 SQL 建表生成 Model
- 数据库迁移:将旧表结构转为 Migration 脚本
- 教学学习:理解 ActiveRecord 模式与查询语法
- 代码规范:统一 Model 代码风格、自动生成中文 labels
- 逆向工程:从生产库表生成开发用的代码骨架
安全保障
- 本地处理:所有 SQL 解析与代码生成在浏览器完成
- 隐私保护:SQL 语句不会上传到服务器
- 语法规范:生成的代码遵循 Yii2 官方编码规范
- 无害处理:生成的代码需人工检查后方可使用
- 免费使用:无需注册,打开即用
常见问题
支持哪些 SQL 方言?
主要支持 MySQL 语法(CREATE TABLE、INT/VARCHAR/TEXT/DATETIME 等类型、AUTO_INCREMENT、COMMENT、PRIMARY KEY 等)。同时对 PostgreSQL、SQLite 的常见语法做了兼容处理。复杂约束(外键、触发器)仅作部分解析。
生成的 rules 校验规则如何确定?
根据字段类型与约束自动推导:INT 类生成 integer 规则,VARCHAR 生成 string 加 max 长度限制,DATETIME 生成 datetime 规则,NOT NULL 字段添加 required 规则,UNIQUE 字段添加 unique 规则。建议生成后根据业务进一步调整。
attributeLabels 的中文翻译从哪来?
优先使用字段的 COMMENT 注释(若勾选"使用字段注释"),无注释时根据字段名进行简单翻译(如 name → 名称、email → 邮箱、created_at → 创建时间)。生成的中文 label 可能需要根据业务进一步润色。
Migration 中的字段类型如何映射?
Yii2 Migration 使用 $this->xxx() 链式方法定义字段,本工具会进行映射:INT → integer()、VARCHAR(N) → string(N)、TEXT → text()、DATETIME → dateTime()、DECIMAL(P,S) → decimal(P,S)。主键自增字段使用 $this->primaryKey()。