• 数据库字段备注信息声明语法 CDL (Comment Declaration Language)


    数据库字段备注信息声明语法 CDL (Comment Declaration Language)

    用途:CDL用于代码生成器的前端组件信息识别。

    语法:

    [cdl:disable] 禁用,当前不可用。
    [cdl:component=checkbox] 控件类型,详见附1。
    [cdl:search=like,=] 是否允许搜索,支持操作符:=,>=,<=,like,null,not_null。默认根据字段数据类型使用贪婪模式。
    [cdl:display=index] 显示范围:list=列表,create=新建表单,edit=编辑表单,all=全部,none=无,默认 all。
    [cdl:required] 必填字段,详见附2。
    

    规范:
    建议 CDL 声明写在注释内容的最后面,每个 CDL 声明之间以一个空格隔开,这样排版才不会不影响注释内容的阅读。

    [附1]控件类型:

    // H5 原生组件
    $h5InputBoxTypes = ['color', 'date', 'datetime-local', 'month', 'week', 'time', 'email', 'file', 'hidden', 'image', 'number', 'password',  'range', 'search', 'text', 'url'];
    // 业务常用组件
    $bizComponents = ['radio', 'checkbox', 'select', 'selectpage', 'selectmulti', 'passwordbox', 'bankcardno', 'image-uploader', 'images-uploader', 'file-uploader', 'files-uploader', 'textarea', 'editor', 'city-picker', 'map-picker', 'jsontable', 'numberbox', 'rate-picker', 'sortable', 'switch', 'code'];
    

    [附2] 必填字段:
    一般情况下,字段类型设置为:NOT NULL,判断为必填字段。如果有 DEFAULT '',则判断为选填字段,除非使用 CDL 强制声明为必填。

    CDL 综合示例:

    CREATE TABLE `ps_article`  (
      `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',  
      `category_id` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '分类ID [cdl:component=select(table=ps_article_category,textfield=category_name,idfield=id)]',
      `article_title` VARCHAR(255) NOT NULL COMMENT '文章标题',
      `author` VARCHAR(60) NOT NULL DEFAULT '' COMMENT '文章作者',
      `image` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '文章图片 [cdl:component=image]',
      `intro` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '文章简介 [cdl:component=textarea]',
      `content` TEXT NOT NULL COMMENT '文章内容 [cdl:component=editor]',
      `share_title` VARCHAR(180) NOT NULL DEFAULT '' COMMENT '文章分享标题 [cdl:disable]',
      `share_intro` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '文章分享简介 [cdl:component=textarea] [cdl:disable]',
      `visit_count` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '浏览次数 [cdl:search=search(like,=)] [cdl:display=index]',
      `sort` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序权重 [cdl:display=index]',
      `source_link` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '原文链接 [cdl:component=url]',
      `flag` VARCHAR(16) NOT NULL DEFAULT '' COMMENT '标志(1=热门,2=推荐,3=轮播) [cdl:component=checkbox]',
      `status` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(0=隐藏,1=显示)',
      `created_at` INT UNSIGNED NOT NULL COMMENT '创建时间',
      PRIMARY KEY (`id`),
      KEY `key_article_title` (`article_title`),
      KEY `key_category_id` (`category_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文章表';
    
  • 相关阅读:
    day 49
    day 48
    day 46
    IOC和DI到底是什么?
    堆排序算法
    快速排序算法
    java中try-catch-finally中的return语句
    归并排序算法
    选择排序算法
    冒泡排序算法
  • 原文地址:https://www.cnblogs.com/sochishun/p/14109938.html
Copyright © 2020-2023  润新知