TS代码生成工具介绍
在软件开发过程中,特别是在 TypeScript 项目中,经常需要根据数据库表结构生成对应的 TypeScript 接口文件,以便在应用程序中使用。为了简化这一过程,学习开源项目schemats,我开发了一个 TypeScript 代码生成工具,可以根据 PostgreSQL 数据库表结构自动生成 TypeScript 接口文件。
1. 项目地址
GitHub 项目地址:ts_demo1
该项目目前支持 PostgreSQL 数据库,可以根据数据库表结构生成 TypeScript 接口文件。
2. 使用说明
1. 修改配置文件
在项目根目录下有一个名为 generator.yaml
的配置文件,您需要根据实际情况修改该文件,设置要生成的数据库连接信息。
2. 执行生成命令
在项目根目录下,您可以执行 generate-interfaces
脚本,它会根据配置文件中的数据库信息,自动生成对应的 TypeScript 接口文件。
3. 使用示例
示例表结构
假设我们有一个名为 t_user
的用户表,其结构如下:
字段 | 类型 | 注释 | 是否非空 |
---|---|---|---|
id | varchar(32) | 主键ID | 是 |
name | varchar(100) | 姓名 | 是 |
phone | int(11) | 手机号 | 是 |
contact_id | varchar(32) | 联系人ID | 否 |
生成接口文件
根据以上表结构,执行生成命令后,会生成如下 TypeScript 接口文件:
/**
* 用户表
*/
export default interface TUser {
/**
* 主键ID
*/
id: string;
/**
* 姓名
*/
name: string;
/**
* 手机号
*/
phone: number;
/**
* 联系人ID
*/
contactId?: string;
}
4. 资产文件
1. 建表脚本
为了方便使用者创建示例表,提供了建表脚本如下:
CREATE TABLE IF NOT EXISTS t_user (
id VARCHAR(32) PRIMARY KEY,
name VARCHAR(100) NOT NULL,
phone INT NOT NULL,
contact_id VARCHAR(32)
);
COMMENT ON TABLE t_user IS '用户表';
COMMENT ON COLUMN t_user.id IS '主键ID';
COMMENT ON COLUMN t_user.name IS '姓名';
COMMENT ON COLUMN t_user.phone IS '手机号';
COMMENT ON COLUMN t_user.contact_id IS '联系人ID';
2. 执行生成过程截图
以下是执行生成过程的截图,帮助使用者更好地了解如何使用该工具:
- 修改配置文件
- 执行生成命令
3. 生成文件截图
生成的 TypeScript 接口文件截图如下:
/**
* 用户表
*/
export default interface TUser {
/**
* 主键ID
*/
id: string;
/**
* 姓名
*/
name: string;
/**
* 手机号
*/
phone: number;
/**
* 联系人ID
*/
contactId?: string;
}
5. 参考项目
为了提供更多灵感和参考,我参考了以下项目:
- schemats: GitHub,它是一个用于生成 TypeScript 接口文件的工具,可以从 PostgreSQL 数据库中提取表结构并生成对应的 TypeScript 接口定义。
通过以上说明,您可以更好地了解并使用我开发的 TypeScript 代码生成工具,希望能为您的开发工作提供便利!