zoukankan      html  css  js  c++  java
  • 数据库字段备注信息声明语法 CDL (Comment Declaration Language)

    说明:2.0 相比 1.0,主要是采用了JSON数据格式,支持更多配置内容

    语法V1.0:

    [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。
    

    语法V2.0:

    [cdl:json={"disable":true}] 禁用,当前不可用。
    [cdl:json={"component":"checkbox"}] 控件类型,详见附1。
    [cdl:json={"searchable":true,"operate":"like,="}] 是否允许搜索,支持操作符:=,>=,<=,like,null,not_null。默认根据字段数据类型使用贪婪模式。
    [cdl:json={"display":"index"}] 显示范围:list=列表,create=新建表单,edit=编辑表单,all=全部,none=无,默认 all。
    [cdl:json={"required":true}] 必填字段,详见附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:json={"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:json={"component":"image"}]',
      `intro` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '文章简介 [cdl:json={"component":"textarea"}]',
      `content` TEXT NOT NULL COMMENT '文章内容 [cdl:json={"component":"editor"}]',
      `share_title` VARCHAR(180) NOT NULL DEFAULT '' COMMENT '文章分享标题 [cdl:json={"disable":true}]',
      `share_intro` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '文章分享简介 [cdl:json={"component":"textarea","disable":true}]',
      `visit_count` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '浏览次数 [cdl:json={"searchable":true,"operate":"like,=","display":"index"}]',
      `sort` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序权重 [cdl:json={"display":"index"}]',
      `source_link` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '原文链接 [cdl:json={"component":"url"}]',
      `flag` VARCHAR(16) NOT NULL DEFAULT '' COMMENT '标志(1=热门,2=推荐,3=轮播) [cdl:json={"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='文章表';
    
  • 相关阅读:
    【转贴】Render to Texture(渲染到纹理)
    【转贴】EffectFramework
    真正的电脑高手
    【ZT】剑道与编程之道
    【转贴】DXUT 框架入门 2
    【转贴】DXUT 框架函数介绍
    第四章 治病法要(1)
    第一章 略说中医的学习与研究(5)
    第二章 伤寒之意义(2)
    第一章 略说中医的学习与研究(4)
  • 原文地址:https://www.cnblogs.com/sochishun/p/14132178.html
Copyright © 2011-2022 走看看