{
  "data": [
    {
      "expression": "${pk}",
      "text": "",
      "children": [
        {
          "expression": "${pk.type}",
          "text": "主键数据库类型"
        },
        {
          "expression": "${pk.typeBase}",
          "text": "主键字段基本类型，如：int"
        },
        {
          "expression": "${pk.typeBox}",
          "text": "主键字段装箱类型,如：Integer"
        },
        {
          "expression": "${pk.name}",
          "text": "主键表字段名"
        },
        {
          "expression": "${pk.nameCamel}",
          "text": "Camel风格，如：userAge"
        },
        {
          "expression": "${pk.namePascal}",
          "text": "Pascal风格，如：UserAge"
        },
        {
          "expression": "${pk.nameSnake}",
          "text": "Snake风格，如：user_age"
        },
        {
          "expression": "${pk.nameSnakeBig}",
          "text": "Snake风格大写，如：USER_AGE"
        },
        {
          "expression": "${pk.namePascalSnake}",
          "text": "PascalSnake风格，如：User_Age"
        },
        {
          "expression": "${pk.nameKebab}",
          "text": "Kebab风格，如：user-age"
        },
        {
          "expression": "${pk.nameKebabBig}",
          "text": "Kebab风格大写，如：USER-AGE"
        },
        {
          "expression": "${pk.namePascalKebab}",
          "text": "PascalKebab风格，如：User-Age"
        },
        {
          "expression": "${pk.isIdentity}",
          "text": "是否自增,返回boolean"
        },
        {
          "expression": "${pk.mybatisJdbcType}",
          "text": "mybatis的jdbcType"
        },
        {
          "expression": "${pk.comment}",
          "text": "主键字段注释"
        },
        {
          "expression": "${pk.label}",
          "text": "返回注释，没有则返回fieldNameCamel"
        }
      ]
    },
    {
      "expression": "${context}",
      "text": "",
      "children": [
        {
          "expression": "${context.author}",
          "text": "作者名"
        },
        {
          "expression": "${context.dbName}",
          "text": "数据库名，如：shop_order"
        },
        {
          "expression": "${context.dbNameCamel}",
          "text": "数据库名驼峰，如：shopOrder"
        },
        {
          "expression": "${context.dbNameClean}",
          "text": "数据库名，无符号并小写，如：shoporder"
        },
        {
          "expression": "${context.packageName}",
          "text": "包名"
        },
        {
          "expression": "${context.delPrefix}",
          "text": "删除前缀"
        },
        {
          "expression": "${context.classNamePascal}",
          "text": "类名，如：UserInfo"
        },
        {
          "expression": "${context.classNameCamel}",
          "text": "类名且首字母小写，如：userInfo"
        },
        {
          "expression": "${context.classNameLower}",
          "text": "类名全部小写，如：userinfo"
        },
        {
          "expression": "${context.classNameKebab}",
          "text": "类名驼峰横杠，如：user-info"
        },
        {
          "expression": "${context.classNamePascalKebab}",
          "text": "类名驼峰横杠，如：User-Info"
        },
        {
          "expression": "${context.datetime}",
          "text": "日期时间，如：2024-01-31 20:53:50"
        },
        {
          "expression": "${context.date}",
          "text": "日期，如：2024-01-31"
        },
        {
          "expression": "${context.time}",
          "text": "时间，如：20:53:50"
        },
        {
          "expression": "${context.randomInt}",
          "text": "int随机数"
        },
        {
          "expression": "${context.randomLong}",
          "text": "long随机数"
        },
        {
          "expression": "${context.randomBoolean}",
          "text": "boolean随机"
        },
        {
          "expression": "${context.uuid}",
          "text": "生成uuid"
        },
        {
          "expression": "${context.nextId}",
          "text": "生成唯一id，基于雪花算法"
        }
      ]
    },
    {
      "expression": "${table}",
      "text": "",
      "children": [
        {
          "expression": "${table.tableName}",
          "text": "数据库表名"
        },
        {
          "expression": "${table.comment}",
          "text": "表注释"
        },
        {
          "expression": "${table.schema}",
          "text": "PostgreSQL中的Schema"
        },
        {
          "expression": "${table.columnCount}",
          "text": "字段数量"
        }
      ]
    },
    {
      "expression": "#foreach($column in $columns) #end",
      "text": "",
      "children": [
        {
          "expression": "${velocityCount}",
          "text": "foreach循环下标，从1开始"
        },
        {
          "expression": "${column.type}",
          "text": "字段的数据库类型"
        },
        {
          "expression": "${column.typeBase}",
          "text": "字段基本类型，如：int/float"
        },
        {
          "expression": "${column.typeBox}",
          "text": "字段装箱类型，如Integer"
        },
        {
          "expression": "${column.name}",
          "text": "表字段名，如：user_age"
        },
        {
          "expression": "${column.nameCamel}",
          "text": "Camel风格，如：userAge"
        },
        {
          "expression": "${column.namePascal}",
          "text": "Pascal风格，如：UserAge"
        },
        {
          "expression": "${column.nameSnake}",
          "text": "Snake风格，如：user_age"
        },
        {
          "expression": "${column.nameSnakeBig}",
          "text": "Snake风格大写，如：USER_AGE"
        },
        {
          "expression": "${column.namePascalSnake}",
          "text": "PascalSnake风格，如：User_Age"
        },
        {
          "expression": "${column.nameKebab}",
          "text": "Kebab风格，如：user-age"
        },
        {
          "expression": "${column.nameKebabBig}",
          "text": "Kebab风格大写，如：USER-AGE"
        },
        {
          "expression": "${column.namePascalKebab}",
          "text": "PascalKebab风格，如：User-Age"
        },
        {
          "expression": "${column.isPk}",
          "text": "是否主键，返回boolean"
        },
        {
          "expression": "${column.isIdentity}",
          "text": "是否自增，返回boolean"
        },
        {
          "expression": "${column.isIdentityPk}",
          "text": "是否自增主键，返回boolean"
        },
        {
          "expression": "${column.mybatisJdbcType}",
          "text": "mybatis的jdbcType"
        },
        {
          "expression": "${column.comment}",
          "text": "字段注释"
        },
        {
          "expression": "${column.label}",
          "text": "返回注释，没有则返回fieldNameCamel"
        },
        {
          "expression": "${column.maxLength}",
          "text": "字段最大长度"
        },
        {
          "expression": "${column.scale}",
          "text": "小数位长度"
        },
        {
          "expression": "${column.isNullable}",
          "text": "字段是否可空，返回boolean"
        }
      ]
    }
  ]
}
