2.3.2 • Published 4 months ago

code-file-builder v2.3.2

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

code-file-builder

根据数据库表和模板,自动生成代码。

快速开始

  1. 安装
npm install -g code-file-builder
  1. 生成
// 使用命令行生成
code-file-builder -t mysql -h 127.0.0.1 -p 3306 -u root -x 12345678 -d testDb -m pighand-spring -r .

// 按步骤提示生成
code-file-builder guide

其他参数

参数名别名默认值前置条件说明
typetmysql操作类型。可选值'mysql'、'mongo'
hosth127.0.0.1type=mysql | mongo数据库地址
portp3306 | 27017type=mysql | mongo数据库端口。默认值根据 type 自动识别
useruroottype=mysql | mongo数据库用户名
passwordxtype=mysql | mongo数据库密码
databasedtype=mysql | mongo数据库名
tableNametype=mysql | mongo表名。多个表用”空格“分开,不填生成所有表
templatem内置模板,与 templatePath 必填一个。可选值'pighand-spring'、'pighand-koa'
templatePath自定义模板,填写模路径。与 template 必填一个, 同时存在 templatePath 优先
paramsn自定义模板参数。例:key1=value&key2=value
paramsPath自定义参数文件路径。文件是 json 格式。可与 params 同时存在
saveFileRootPathr当前执行命令目录保存文件路径

自定义模板

1. 配置文件

[
    {
        // 文件名后缀
        name: 'model',

        // 模板文件绝对路径,模板具体使用方式查看[ejs](https://github.com/mde/ejs)
        templateFile: 'model.ejs',

        // 保存文件目录,不填默认取name的值
        saveFilePath: 'model',

        // 文件扩展名
        fileExtension: 'js',
    }
]

# 生成结果:${saveFileRootPath}/model/tableNameModel.js

2. 模板文件

基于 ejs 生成

内置参数(可直接在 ejs 模板中使用):

参数数据类型可用 params、paramsPath 替换说明
dateTimestringY当前时间,格式:YYYY-MM-DD HH:mm:ss
authorstringY作者信息,默认系统用户名
javaPackagestringYjava 项目 package 路径,默认根据生成路径识别
tableNamestringN数据库表名
tableFileNamestringN表名对应的文件名,即首字母大写的表名
tableHumpNamestringN驼峰格式的表名
tableCommentstringN表备注
columnsarrayN列信息
columns.columnNamestringN列名
columns.columnHumpNamestringN驼峰格式列名
columns.dataTypestringN数据类型,与 mysql 数据类型一致,INTEGER、VARCHAR 等
columns.javaDataTypestringNjava 数据类型,String、Long、BigDecimal、Date、JSON 等
columns.isStringbooleanN是否是字符串
columns.isNumberbooleanN是否是数字
columns.columnTypestringN列完整类型,varchar(32)等
columns.characterMaximumLengthnumberN最大长度
columns.isNullablebooleanN是否允许 null
columns.primaryKeybooleanN是否是主键
columns.autoIncrementbooleanN是否自增
columns.columnCommentstringN列备注
columns.isReservedWordsbooleanN是否是 mysql 保留字
joinTablesarrayN关联表信息
joinTables.tablestringN表名
joinTables.tableFileNamestringN关联表信息
joinTables.tableHumpNamestringN驼峰格式的表名
joinTables.mainKeystringN主表主键
joinTables.relationKeystringN关联表关联键
joinTables.relationstringN对应关系 '11','1n','n1','nn'
joinTables.joinstringN关联关系 l: left join; I: inner join
joinTables.columnsarrayN表字段信息

表关联信息

根据表 cfb_relation 生成关联关系。结构参考“模板文件-joinTables”。生成表时,会自动忽略 cfb_relation 表。

CREATE TABLE `cfb_relation` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `table_a` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `table_a_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `table_b` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `table_b_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `relation` enum('11','1n','n1','nn') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '''11'',''1n'',''n1'',''nn''',
  `join` enum('l','i') DEFAULT NULL COMMENT 'l: left join; I: inner join',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='code_file_builder外键映射关系表';

历史记录

  • 查看历史记录,按回车再次执行;
  • 最多记录 100 执行成功的历史记录
code-file-builder history

历史记录文件保存路径:

windows:

C:\Users\username.code_file_builder_history

mac or linux:

~/.code_file_builder_history

2.3.2

4 months ago

2.3.0

6 months ago

2.2.0

12 months ago

2.1.0

1 year ago

2.0.2

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

1.0.0

3 years ago