生成第一个模块
StackRivet 的代码生成器不只写 CRUD。它从单张数据库表生成一个带治理的模块:后端各层、前端页面、菜单、权限、OpenAPI 注解、测试骨架、模块 manifest 和 AI 可读模块上下文——全部遵守架构与安全规则。
生成器内置在管理端与 API 中;你不需要运行一个单独的工具。
- 后端和管理端已运行(见安装)。
- 有一张可生成的数据库表。生成器从 MySQL 8.4 或 PostgreSQL 18.4 读取表。
选择表 → 导入元数据 → 配置字段 → 配置菜单与权限→ 预览 → 确认 → 写入代码 + manifest → 跑测试 / 启动应用1. 导入表
Section titled “1. 导入表”选一张表导入其元数据。生成器读取列、类型、主键、索引和注释。
GET /api/v1/generator/database-tables # 浏览可用表POST /api/v1/generator/tables/import # 导入选中的表这会创建 sr_gen_table 和 sr_gen_column 配置行。重复导入同一张表会提示合并或覆盖。
2. 配置字段
Section titled “2. 配置字段”对每一列,设置它在列表、表单、查询里的展示、校验、字典和控件类型。StackRivet 会按列类型给出合理默认值:
| DB 类型 | Java | 控件 |
|---|---|---|
| varchar / text | String | input / textarea |
| integer / bigint | Integer / Long | number input |
| decimal | BigDecimal(金额绝不用 double) | decimal input |
| boolean / tinyint(1) | Boolean | switch |
| date / datetime | LocalDate / LocalDateTime | date / datetime picker |
*_asset_id | String | 资产上传控件(自动识别) |
*_dict | String | select |
id、tenant_id、created_at、updated_at、deleted 默认不进普通表单。任何被你标为查询条件的字段都会走索引风险检查——若没有索引覆盖,预览会标出。
3. 配置菜单与权限
Section titled “3. 配置菜单与权限”生成器产出菜单项,外加模块的菜单、按钮、API 权限,因此它默认就是锁住的。(manifest 细节见新增权限。)
4. 先预览,再应用
Section titled “4. 先预览,再应用”生成器总是先预览再写入。每个文件标为新建、覆盖或跳过——而且不会覆盖你改过的文件,除非你显式确认。
POST /api/v1/generator/tables/{id}/preview # 查看文件 diffPOST /api/v1/generator/tables/{id}/apply # 确认后写入| 范围 | 文件 |
|---|---|
| 后端 | {Name}Entity、{Name}Mapper、{Name}Service + Impl、{Name}Controller、Create/Update/Query DTO、Response VO |
| 前端 | {resource}.api.ts、列表页、表单 dialog/drawer |
| 治理 | 菜单 + 按钮 + API 权限 seed、OpenAPI 注解、基础测试、模块 manifest、AI 可读模块上下文 |
生成的后端可编译,Controller 从不直接调 Mapper,DTO/VO 不复用实体,列表 API 分页(最大 pageSize 200),生成文件会带模板元数据和文件 hash,供升级路径使用。
- 跑生成的测试并启动应用。
- 在管理端打开模块,做一遍增删改查。
- 继续定制——AI 工具可读取模块上下文来安全扩展它(见 AI 编码工作流)。
Community 生成单表模块。主子表、树表、多对多生成、模板编辑和生成 diff 预览属于 Pro / Enterprise——见价格页。