sail 代码生成器

原生成器 模块划分

  • 设计转换模块 (根据数据库获取表配置、列配置、其他延伸配置)
  • 代码生成模块 (模板、目录结构)
  • 代码合并模块 (router、typing.d.ts、...)

优点:拓展时,则针对 设计转换、代码生成的模板进行拓展即可,及少会涉及代码合并模块

缺点:仅支持单一数据库连接;设计转换模块 目前分布在很多块,模板中也有,转换模块也有;模板使用自定义模板语法+js eval,很难进行开发;命令行进行生成,有一定门槛

延伸需求

  • 加深模块划分,职责分离
  • 设计源选择模块(数据库,ddl,json,balabala)
  • 模板引擎
  • 用户界面模块

1.设计转换模块 需求说明

根据数据库获取表配置、列配置、其他延伸配置

1.1 列配置

根据 数据库列的配置、用户自定义的列的配置、列生成配置约定 生成目标列配置,其中详细展开的便是 列生成配置约定
列生成配置约定 目前分以下几类

  • 字段名完全匹配,例如:update_time、create_time 等检查字段,他们的配置是一致的
  • 字段名前缀匹配,例如:is_locked、is_enabled 等开关类字段
  • 字段名后缀匹配,例如:_img、_att 指定类型是图片,附件的字段
  • 注释匹配,使用注释进行设置字典的配置
    使用 策略模式+责任链模式 进行设计该配置生成流程
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容