{"id":19964570,"url":"https://github.com/kuangshp/nest-code-generate","last_synced_at":"2025-05-03T23:30:31.985Z","repository":{"id":47131165,"uuid":"401277892","full_name":"kuangshp/nest-code-generate","owner":"kuangshp","description":"@nestjs/cli脚手架的增强版，提供输入数据库表名自动生成控制器、服务层、实体类等基本的curd","archived":false,"fork":false,"pushed_at":"2022-08-16T12:05:11.000Z","size":1082,"stargazers_count":31,"open_issues_count":0,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-07T23:03:33.138Z","etag":null,"topics":["cli","code","mysql","nestjs","orm"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kuangshp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-30T08:54:56.000Z","updated_at":"2024-08-19T07:36:17.000Z","dependencies_parsed_at":"2022-08-20T13:20:56.953Z","dependency_job_id":null,"html_url":"https://github.com/kuangshp/nest-code-generate","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuangshp%2Fnest-code-generate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuangshp%2Fnest-code-generate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuangshp%2Fnest-code-generate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuangshp%2Fnest-code-generate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kuangshp","download_url":"https://codeload.github.com/kuangshp/nest-code-generate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252269026,"owners_count":21721239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","code","mysql","nestjs","orm"],"created_at":"2024-11-13T02:24:18.132Z","updated_at":"2025-05-03T23:30:31.430Z","avatar_url":"https://github.com/kuangshp.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 关于本包的介绍\n\n在使用 `NestJs + Mysql` 项目开发中，也许你会开启由实体类同步生成数据表的方式，这种方式不是不行，但是也面临找数据会被误删的风险。本包使用的是先创建数据库和数据表，运行命令根据数据表有选择的来反向生成对应的实体类、控制器、服务层，减少我们手动一个一个目录结构来创建的工作。\n\n## 使用步骤\n\n- 1、全局安装方式\n\n```properties\n  npm install nest-code-generate -g\n```\n\n- 2、关于配置数据库连接信息\n\n  根目录下创建数据库连接信息 `code-gen.yml` 文件\n\n```yaml\n# 配置数据库连接信息\ndata_source:\n  host: \"localhost\"\n  port: 3306\n  user: \"root\"\n  password: \"password\"\n  database: \"nest-code-generate\"\n# 配置字段收取及基础类(可选，如果没有配置的话，那么就是默认每个实体类都带了相同的字段)\ndata_config:\n  collect: \"id, created_at, updated_at, deleted_at\"\n  base_name: \"BaseEntity\"\n```\n\n- 4、使用方式\n\n\u003e 指令参数介绍\n\n```properties\n  code-gen \u003c表名\u003e [存放的目录(目录需要提前存在)]\n\n  # 1.其中code-gen是指令前缀\n  # 2.表名为必传,可以传多个表名, 用\",\"隔开即可, \u003c表名1,表名2\u003e\n  # 3.存放的目录为可选, 如果不传递该参数则默认存在到src目录下,如果指定存放目录,那么你要先创建对应目录\n```\n\n\u003e 示例\n\n![table_name](https://shuiping-code.oss-cn-shenzhen.aliyuncs.com/static/table_name.jpeg)\n\n```properties\n# 1.例如当前有一数据表, 名为type\n# 2.项目结构:\n├── src\n  ├── demo\n# 3.我们想将它挂载到src中的demo目录下\n```\n\n\u003e 执行命令\n\n`code-gen type` **或者** `code-gen type src` 进入配置选项如下图:\n![command_line](https://shuiping-code.oss-cn-shenzhen.aliyuncs.com/static/command_line.png)\n\n\u003e 目录生成结构\n\n```properties\n# 选择Entity:\n├── src\n  ├── entities\n  │   └── type.entity.ts\n\n# 选择Tier\n├── src\n  ├── controllers\n  │   ├── type.controller.spec.ts\n  │   └── type.controller.ts\n  ├── entities\n  │   └── type.entity.ts\n  ├── services\n  │   ├── type.service.spec.ts\n  │   └── type.service.ts\n\n# 选择CURD: 目录结构与Tier一致, 内容增加简单的增删改查\n# 选择All: 目前与CURD一致, 留作后期扩展使用\n```\n\n\u003e ⚠️ 注意事项\n\n**1.路径问题**\n\n```properties\n# 如果存放目录 不是唯一的, 例如下面的结构, lib和src文件夹下都存在一个demo文件夹, 此时如果想将生成内容放到src中的demo就有一点麻烦了, 不过好在, 存放路径支持\"不完整路径\", 请看下面的指令.\n├── root\n  ├── lib\n  │   ├── demo\n  ├── src\n  │   └── demo\n\ncode-gen type src/demo\n# 同样的如果是想存放到lib下面的demo文件夹可以执行下面的指令\ncode-gen type lib/demo\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuangshp%2Fnest-code-generate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkuangshp%2Fnest-code-generate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuangshp%2Fnest-code-generate/lists"}