diff --git a/src/main/resources/static/vertical.pdman.json b/src/main/resources/static/vertical.pdman.json new file mode 100644 index 0000000..72d2044 --- /dev/null +++ b/src/main/resources/static/vertical.pdman.json @@ -0,0 +1,2522 @@ +{ + "modules": [ + { + "name": "rymcu", + "chnname": "rymcu", + "entities": [ + { + "title": "vertical_article", + "chnname": "文章表", + "fields": [ + { + "name": "id", + "type": "BIGINT_19", + "chnname": "主键", + "remark": "", + "pk": true, + "notNull": true, + "autoIncrement": true, + "defaultValue": "" + }, + { + "name": "article_title", + "type": "VARCHAR_128", + "chnname": "文章标题", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_thumbnail_url", + "type": "VARCHAR_128", + "chnname": "文章缩略图", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_author_id", + "type": "BIGINT_19", + "chnname": "文章作者id", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_type", + "type": "CHAR_1", + "chnname": "文章类型", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_tags", + "type": "VARCHAR_128", + "chnname": "文章标签", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_view_count", + "type": "INT_10", + "chnname": "浏览总数", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_preview_content", + "type": "VARCHAR_256", + "chnname": "预览内容", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_comment_count", + "type": "INT_10", + "chnname": "评论总数", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "time_ago", + "type": "VARCHAR_32", + "chnname": "过去时长", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_permalink", + "type": "VARCHAR_128", + "chnname": "文章永久链接", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_link", + "type": "VARCHAR_32", + "chnname": "站内链接", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "created_time", + "type": "DATETIME", + "chnname": "创建时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "updated_time", + "type": "DATETIME", + "chnname": "更新时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_perfect", + "type": "CHAR_1", + "chnname": "0:非优选1:优选", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_status", + "type": "CHAR_1", + "chnname": "文章状态", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + } + ], + "indexs": [], + "headers": [ + { + "fieldName": "chnname", + "relationNoShow": false + }, + { + "fieldName": "name", + "relationNoShow": false + }, + { + "fieldName": "type", + "relationNoShow": false + }, + { + "fieldName": "dataType", + "relationNoShow": true + }, + { + "fieldName": "remark", + "relationNoShow": true + }, + { + "fieldName": "pk", + "relationNoShow": false + }, + { + "fieldName": "notNull", + "relationNoShow": true + }, + { + "fieldName": "autoIncrement", + "relationNoShow": true + }, + { + "fieldName": "defaultValue", + "relationNoShow": true + }, + { + "fieldName": "relationNoShow", + "relationNoShow": true + }, + { + "fieldName": "uiHint", + "relationNoShow": true + } + ] + }, + { + "title": "vertical_article_content", + "chnname": "文章内容表", + "fields": [ + { + "name": "id_article", + "type": "BIGINT_19", + "chnname": "主键", + "remark": "", + "pk": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_content", + "type": "TEXT", + "chnname": "文章内容原文", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_content_html", + "type": "TEXT", + "chnname": "文章内容Html", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "created_time", + "type": "DATETIME", + "chnname": "创建时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "updated_time", + "type": "DATETIME", + "chnname": "更新时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + } + ], + "indexs": [], + "headers": [ + { + "fieldName": "chnname", + "relationNoShow": false + }, + { + "fieldName": "name", + "relationNoShow": false + }, + { + "fieldName": "type", + "relationNoShow": false + }, + { + "fieldName": "dataType", + "relationNoShow": true + }, + { + "fieldName": "remark", + "relationNoShow": true + }, + { + "fieldName": "pk", + "relationNoShow": false + }, + { + "fieldName": "notNull", + "relationNoShow": true + }, + { + "fieldName": "autoIncrement", + "relationNoShow": true + }, + { + "fieldName": "defaultValue", + "relationNoShow": true + }, + { + "fieldName": "relationNoShow", + "relationNoShow": true + }, + { + "fieldName": "uiHint", + "relationNoShow": true + } + ] + }, + { + "title": "vertical_role", + "chnname": "权限表", + "fields": [ + { + "name": "id", + "type": "BIGINT_19", + "chnname": "主键", + "remark": "", + "pk": true, + "notNull": true, + "autoIncrement": true, + "defaultValue": "" + }, + { + "name": "name", + "type": "VARCHAR_32", + "chnname": "名称", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "input_code", + "type": "VARCHAR_32", + "chnname": "拼音码", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "status", + "type": "CHAR_1", + "chnname": "状态", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "created_time", + "type": "DATETIME", + "chnname": "创建时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "updated_time", + "type": "DATETIME", + "chnname": "更新时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "weights", + "type": "TINYINT_3", + "chnname": "权重,数值越小权限越大;0:无权限", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + } + ], + "indexs": [], + "headers": [ + { + "fieldName": "chnname", + "relationNoShow": false + }, + { + "fieldName": "name", + "relationNoShow": false + }, + { + "fieldName": "type", + "relationNoShow": false + }, + { + "fieldName": "dataType", + "relationNoShow": true + }, + { + "fieldName": "remark", + "relationNoShow": true + }, + { + "fieldName": "pk", + "relationNoShow": false + }, + { + "fieldName": "notNull", + "relationNoShow": true + }, + { + "fieldName": "autoIncrement", + "relationNoShow": true + }, + { + "fieldName": "defaultValue", + "relationNoShow": true + }, + { + "fieldName": "relationNoShow", + "relationNoShow": true + }, + { + "fieldName": "uiHint", + "relationNoShow": true + } + ] + }, + { + "title": "vertical_tag", + "chnname": "标签表 ", + "fields": [ + { + "name": "id", + "type": "BIGINT_19", + "chnname": "主键", + "remark": "", + "pk": true, + "notNull": true, + "autoIncrement": true, + "defaultValue": "" + }, + { + "name": "tag_title", + "type": "VARCHAR_32", + "chnname": "标签名", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "tag_icon_path", + "type": "VARCHAR_512", + "chnname": "标签图标", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "tag_uri", + "type": "VARCHAR_128", + "chnname": "标签uri", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "tag_description", + "type": "VARCHAR_1024", + "chnname": "描述", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "tag_view_count", + "type": "INT_10", + "chnname": "浏览量", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "tag_article_count", + "type": "INT_10", + "chnname": "关联文章总数", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "tag_ad", + "type": "CHAR_1", + "chnname": "标签广告", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "tag_show_side_ad", + "type": "CHAR_1", + "chnname": "是否显示全站侧边栏广告", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "created_time", + "type": "DATETIME", + "chnname": "创建时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "updated_time", + "type": "DATETIME", + "chnname": "更新时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "tag_status", + "type": "CHAR_1", + "chnname": "标签状态", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + } + ] + }, + { + "title": "vertical_tag_article", + "chnname": "标签 - 帖子关联表 ", + "fields": [ + { + "name": "id", + "type": "BIGINT_19", + "chnname": "主键", + "remark": "", + "pk": true, + "notNull": true, + "autoIncrement": true, + "defaultValue": "" + }, + { + "name": "id_tag", + "type": "BIGINT_19", + "chnname": "标签 id", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "id_article", + "type": "VARCHAR_32", + "chnname": "帖子 id", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_comment_count", + "type": "INT_10", + "chnname": "帖子评论计数 0", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "article_perfect", + "type": "INT_10", + "chnname": "0:非优选1:优选 0", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "created_time", + "type": "DATETIME", + "chnname": "创建时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "updated_time", + "type": "DATETIME", + "chnname": "更新时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + } + ] + }, + { + "title": "vertical_topic", + "chnname": "主题表", + "fields": [ + { + "name": "id", + "type": "BIGINT_19", + "chnname": "主键", + "remark": "", + "pk": true, + "notNull": true, + "autoIncrement": true, + "defaultValue": "" + }, + { + "name": "topic_title", + "type": "VARCHAR_32", + "chnname": "专题标题", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "topic_uri", + "type": "VARCHAR_32", + "chnname": "专题路径", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "topic_description", + "type": "TEXT", + "chnname": "专题描述", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "topic_type", + "type": "VARCHAR_32", + "chnname": "专题类型", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "topic_sort", + "type": "INT_10", + "chnname": "专题序号 10", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "topic_icon_path", + "type": "VARCHAR_128", + "chnname": "专题图片路径", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "topic_nva", + "type": "CHAR_1", + "chnname": "0:作为导航1:不作为导航 0", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "topic_tag_count", + "type": "INT_10", + "chnname": "专题下标签总数 0", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "topic_status", + "type": "CHAR_1", + "chnname": "0:正常1:禁用 0", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "created_time", + "type": "DATETIME", + "chnname": "创建时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "updated_time", + "type": "DATETIME", + "chnname": "更新时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + } + ] + }, + { + "title": "vertical_topic_tag", + "chnname": "专题- 标签关联表 ", + "fields": [ + { + "name": "id", + "type": "BIGINT_19", + "chnname": "主键", + "remark": "", + "pk": true, + "notNull": true, + "autoIncrement": true, + "defaultValue": "" + }, + { + "name": "id_topic", + "type": "BIGINT_19", + "chnname": "专题id", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "id_tag", + "type": "BIGINT_19", + "chnname": "标签id", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "created_time", + "type": "DATETIME", + "chnname": "创建时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "updated_time", + "type": "DATETIME", + "chnname": "更新时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + } + ] + }, + { + "title": "vertical_user", + "chnname": "用户表", + "fields": [ + { + "name": "id", + "type": "BIGINT_19", + "chnname": "用户ID", + "remark": "", + "pk": true, + "notNull": true, + "autoIncrement": true, + "defaultValue": "" + }, + { + "name": "account", + "type": "VARCHAR_32", + "chnname": "账号", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "password", + "type": "VARCHAR_64", + "chnname": "密码", + "remark": "", + "pk": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "nickname", + "type": "VARCHAR_128", + "chnname": "昵称", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "real_name", + "type": "VARCHAR_32", + "chnname": "真实姓名", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "sex", + "type": "CHAR_1", + "chnname": "性别", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "avatar_type", + "type": "CHAR_1", + "chnname": "头像类型", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "avatar_url", + "type": "VARCHAR_512", + "chnname": "头像路径", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "email", + "type": "VARCHAR_64", + "chnname": "邮箱", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "phone", + "type": "VARCHAR_11", + "chnname": "电话", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "status", + "type": "CHAR_1", + "chnname": "状态", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "created_time", + "type": "DATETIME", + "chnname": "创建时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "updated_time", + "type": "DATETIME", + "chnname": "更新时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "last_login_time", + "type": "DATETIME", + "chnname": "最后登录时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "signature", + "type": "VARCHAR_128", + "chnname": "签名", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + } + ], + "indexs": [], + "headers": [ + { + "fieldName": "chnname", + "relationNoShow": false + }, + { + "fieldName": "name", + "relationNoShow": false + }, + { + "fieldName": "type", + "relationNoShow": false + }, + { + "fieldName": "dataType", + "relationNoShow": true + }, + { + "fieldName": "remark", + "relationNoShow": true + }, + { + "fieldName": "pk", + "relationNoShow": false + }, + { + "fieldName": "notNull", + "relationNoShow": true + }, + { + "fieldName": "autoIncrement", + "relationNoShow": true + }, + { + "fieldName": "defaultValue", + "relationNoShow": true + }, + { + "fieldName": "relationNoShow", + "relationNoShow": true + }, + { + "fieldName": "uiHint", + "relationNoShow": true + } + ] + }, + { + "title": "vertical_user_role", + "chnname": "用户-权限表", + "fields": [ + { + "name": "id_user", + "type": "BIGINT_19", + "chnname": "用户表主键", + "remark": "", + "pk": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "id_role", + "type": "BIGINT_19", + "chnname": "角色表主键", + "remark": "", + "pk": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "created_time", + "type": "DATETIME", + "chnname": "创建时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + } + ], + "indexs": [], + "headers": [ + { + "fieldName": "chnname", + "relationNoShow": false + }, + { + "fieldName": "name", + "relationNoShow": false + }, + { + "fieldName": "type", + "relationNoShow": false + }, + { + "fieldName": "dataType", + "relationNoShow": true + }, + { + "fieldName": "remark", + "relationNoShow": true + }, + { + "fieldName": "pk", + "relationNoShow": false + }, + { + "fieldName": "notNull", + "relationNoShow": true + }, + { + "fieldName": "autoIncrement", + "relationNoShow": true + }, + { + "fieldName": "defaultValue", + "relationNoShow": true + }, + { + "fieldName": "relationNoShow", + "relationNoShow": true + }, + { + "fieldName": "uiHint", + "relationNoShow": true + } + ] + }, + { + "title": "vertical_user_tag", + "chnname": "用户 - 标签关联表 ", + "fields": [ + { + "name": "id", + "type": "BIGINT_19", + "chnname": "主键", + "remark": "", + "pk": true, + "notNull": true, + "autoIncrement": true, + "defaultValue": "" + }, + { + "name": "id_user", + "type": "BIGINT_19", + "chnname": "用户 id", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "id_tag", + "type": "VARCHAR_32", + "chnname": "标签 id", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "type", + "type": "CHAR_1", + "chnname": "0:创建者,1:帖子使用,2:用户自评标签", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "created_time", + "type": "DATETIME", + "chnname": "创建时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + }, + { + "name": "updated_time", + "type": "DATETIME", + "chnname": "更新时间", + "remark": "", + "pk": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "" + } + ] + }, + { + "title": "vertical_notification", + "fields": [ + { + "name": "id", + "type": "BigInt", + "remark": "", + "chnname": "主键", + "pk": true, + "notNull": true, + "autoIncrement": true + }, + { + "name": "id_user", + "type": "BigInt", + "remark": "", + "chnname": "用户id" + }, + { + "name": "data_type", + "type": "Char", + "remark": "", + "chnname": "数据类型" + }, + { + "name": "data_id", + "type": "BigInt", + "remark": "", + "chnname": "数据id" + }, + { + "name": "data_summary", + "type": "ShortString", + "remark": "", + "chnname": "数据摘要" + }, + { + "name": "has_read", + "type": "Char", + "remark": "", + "chnname": "是否已读", + "defaultValue": "0" + } + ], + "indexs": [], + "headers": [ + { + "fieldName": "chnname", + "relationNoShow": false + }, + { + "fieldName": "name", + "relationNoShow": false + }, + { + "fieldName": "type", + "relationNoShow": false + }, + { + "fieldName": "dataType", + "relationNoShow": true + }, + { + "fieldName": "remark", + "relationNoShow": true + }, + { + "fieldName": "pk", + "relationNoShow": false + }, + { + "fieldName": "notNull", + "relationNoShow": true + }, + { + "fieldName": "autoIncrement", + "relationNoShow": true + }, + { + "fieldName": "defaultValue", + "relationNoShow": true + }, + { + "fieldName": "relationNoShow", + "relationNoShow": true + }, + { + "fieldName": "uiHint", + "relationNoShow": true + } + ], + "chnname": "通知表" + }, + { + "title": "vertical_comment", + "fields": [ + { + "name": "id", + "type": "BigInt", + "remark": "", + "chnname": "主键", + "pk": true, + "notNull": true, + "autoIncrement": true + }, + { + "name": "comment_content", + "type": "LongText", + "remark": "", + "chnname": "评论内容" + }, + { + "name": "comment_author_id", + "type": "BigInt", + "remark": "", + "chnname": "作者 id" + }, + { + "name": "comment_article_id", + "type": "BigInt", + "remark": "", + "chnname": "文章 id" + }, + { + "name": "comment_sharp_url", + "type": "VARCHAR_256", + "remark": "", + "chnname": "锚点 url" + }, + { + "name": "comment_original_comment_id", + "type": "BigInt", + "remark": "", + "chnname": "父评论 id" + }, + { + "name": "comment_status", + "type": "Char", + "remark": "", + "chnname": "状态", + "defaultValue": "0" + }, + { + "name": "comment_ip", + "type": "VARCHAR_128", + "remark": "", + "chnname": "评论 IP" + }, + { + "name": "comment_ua", + "type": "VARCHAR_128", + "remark": "", + "chnname": "User-Agent" + }, + { + "name": "comment_anonymous", + "type": "Char", + "remark": "", + "chnname": "0:公开回帖,1:匿名回帖" + }, + { + "name": "comment_reply_count", + "type": "Integer", + "remark": "", + "chnname": "回帖计数" + }, + { + "name": "comment_visible", + "type": "Char", + "remark": "", + "chnname": "0:所有人可见,1:仅楼主和自己可见" + }, + { + "name": "created_time", + "type": "DateTime", + "remark": "", + "chnname": "创建时间" + } + ], + "indexs": [], + "headers": [ + { + "fieldName": "chnname", + "relationNoShow": false + }, + { + "fieldName": "name", + "relationNoShow": false + }, + { + "fieldName": "type", + "relationNoShow": false + }, + { + "fieldName": "dataType", + "relationNoShow": true + }, + { + "fieldName": "remark", + "relationNoShow": true + }, + { + "fieldName": "pk", + "relationNoShow": false + }, + { + "fieldName": "notNull", + "relationNoShow": true + }, + { + "fieldName": "autoIncrement", + "relationNoShow": true + }, + { + "fieldName": "defaultValue", + "relationNoShow": true + }, + { + "fieldName": "relationNoShow", + "relationNoShow": true + }, + { + "fieldName": "uiHint", + "relationNoShow": true + } + ], + "chnname": "评论表" + }, + { + "title": "vertical_follow", + "fields": [ + { + "name": "id", + "type": "BigInt", + "remark": "", + "chnname": "主键", + "pk": true, + "notNull": true, + "autoIncrement": true + }, + { + "name": "follower_id", + "type": "BigInt", + "remark": "", + "chnname": "关注者 id" + }, + { + "name": "following_id", + "type": "BigInt", + "remark": "", + "chnname": "关注数据 id" + }, + { + "name": "following_type", + "type": "Char", + "remark": "", + "chnname": "0:用户,1:标签,2:帖子收藏,3:帖子关注" + } + ], + "indexs": [], + "headers": [ + { + "fieldName": "chnname", + "relationNoShow": false + }, + { + "fieldName": "name", + "relationNoShow": false + }, + { + "fieldName": "type", + "relationNoShow": false + }, + { + "fieldName": "dataType", + "relationNoShow": true + }, + { + "fieldName": "remark", + "relationNoShow": true + }, + { + "fieldName": "pk", + "relationNoShow": false + }, + { + "fieldName": "notNull", + "relationNoShow": true + }, + { + "fieldName": "autoIncrement", + "relationNoShow": true + }, + { + "fieldName": "defaultValue", + "relationNoShow": true + }, + { + "fieldName": "relationNoShow", + "relationNoShow": true + }, + { + "fieldName": "uiHint", + "relationNoShow": true + } + ], + "chnname": "关注表" + } + ], + "graphCanvas": { + "nodes": [ + { + "shape": "table", + "title": "vertical_article", + "moduleName": false, + "x": 300, + "y": 210, + "id": "78d290b9" + }, + { + "shape": "table", + "title": "vertical_article_content", + "moduleName": false, + "x": 1017.125, + "y": 125, + "id": "36d1f0d8" + }, + { + "shape": "table", + "title": "vertical_tag", + "moduleName": false, + "x": 310, + "y": 560, + "id": "45e84f94" + }, + { + "shape": "table", + "title": "vertical_tag_article", + "moduleName": false, + "x": 1050, + "y": 380, + "id": "36f47f24" + }, + { + "shape": "table", + "title": "vertical_topic", + "moduleName": false, + "x": 320, + "y": 870, + "id": "07068933" + }, + { + "shape": "table", + "title": "vertical_topic_tag", + "moduleName": false, + "x": 1101.2953881820206, + "y": 670.7319562499999, + "id": "64620a69" + }, + { + "shape": "table", + "title": "vertical_role", + "moduleName": false, + "x": -890, + "y": 658.8888888888889, + "id": "953e8f99" + }, + { + "shape": "table", + "title": "vertical_user", + "moduleName": false, + "x": -860, + "y": 261.1111111111111, + "id": "145b5e72" + }, + { + "shape": "table", + "title": "vertical_user_tag", + "moduleName": false, + "x": -250, + "y": 290, + "id": "77fa9953" + }, + { + "shape": "table", + "title": "vertical_user_role", + "moduleName": false, + "x": -330, + "y": 600, + "id": "d71e9bc5" + } + ], + "edges": [ + { + "shape": "erdRelation", + "relation": "0,n:1", + "source": "36d1f0d8", + "target": "78d290b9", + "id": "8d47df12", + "controlPoints": [ + { + "x": 853.912109375, + "y": 97.28846153846153 + }, + { + "x": 494.3779296875, + "y": 72.10714285714286 + } + ], + "sourceAnchor": 0, + "targetAnchor": 1 + }, + { + "shape": "erdRelation", + "relation": "0,n:1", + "source": "36f47f24", + "target": "45e84f94", + "id": "910ac573", + "controlPoints": [ + { + "x": 854.9599609375, + "y": 352.3382352941177 + }, + { + "x": 516.3779296875, + "y": 462.1388888888889 + } + ], + "sourceAnchor": 2, + "targetAnchor": 1 + }, + { + "shape": "erdRelation", + "relation": "0,n:1", + "source": "36f47f24", + "target": "78d290b9", + "id": "506d4c83", + "controlPoints": [ + { + "x": 854.9599609375, + "y": 372.45588235294116 + }, + { + "x": 494.3779296875, + "y": 72.10714285714286 + } + ], + "sourceAnchor": 4, + "targetAnchor": 1 + }, + { + "shape": "erdRelation", + "relation": "0,n:1", + "source": "64620a69", + "target": "07068933", + "id": "1e7896c8", + "controlPoints": [ + { + "x": 965.9115991195206, + "y": 663.1742639423077 + }, + { + "x": 529.7060546875, + "y": 772.1388888888889 + } + ], + "sourceAnchor": 2, + "targetAnchor": 1 + }, + { + "shape": "erdRelation", + "relation": "0,n:1", + "source": "64620a69", + "target": "45e84f94", + "id": "083acf5e", + "controlPoints": [ + { + "x": 965.9115991195206, + "y": 683.3281100961538 + }, + { + "x": 516.3779296875, + "y": 462.1388888888889 + } + ], + "sourceAnchor": 4, + "targetAnchor": 1 + }, + { + "shape": "erdRelation", + "relation": "0,n:1", + "source": "78d290b9", + "target": "145b5e72", + "id": "2b15a6d7", + "controlPoints": [ + { + "x": 105.6220703125, + "y": 132.2785714285714 + }, + { + "x": -696.9755859375, + "y": 133.22474747474746 + } + ], + "sourceAnchor": 6, + "targetAnchor": 1 + }, + { + "shape": "erdRelation", + "relation": "0,n:1", + "source": "77fa9953", + "target": "45e84f94", + "id": "248f313d", + "controlPoints": [ + { + "x": -11.9638671875, + "y": 292.51666666666665 + }, + { + "x": 103.6220703125, + "y": 462.1388888888889 + } + ], + "sourceAnchor": 5, + "targetAnchor": 0 + }, + { + "shape": "erdRelation", + "relation": "0,n:1", + "source": "77fa9953", + "target": "145b5e72", + "id": "fcd2ee2c", + "controlPoints": [ + { + "x": -488.0361328125, + "y": 272.3833333333333 + }, + { + "x": -696.9755859375, + "y": 133.22474747474746 + } + ], + "sourceAnchor": 2, + "targetAnchor": 1 + }, + { + "shape": "erdRelation", + "relation": "0,n:1", + "source": "d71e9bc5", + "target": "145b5e72", + "id": "8fa954c4", + "controlPoints": [ + { + "x": -467.87109375, + "y": 592.4166666666666 + }, + { + "x": -696.9755859375, + "y": 133.22474747474746 + } + ], + "sourceAnchor": 0, + "targetAnchor": 1 + }, + { + "shape": "erdRelation", + "relation": "0,n:1", + "source": "d71e9bc5", + "target": "953e8f99", + "id": "0c61ae50", + "controlPoints": [ + { + "x": -467.87109375, + "y": 612.6388888888889 + }, + { + "x": -683.63671875, + "y": 611.1094771241831 + } + ], + "sourceAnchor": 2, + "targetAnchor": 1 + } + ] + }, + "associations": [ + { + "relation": "0,n:1", + "from": { + "entity": "vertical_article_content", + "field": "id_article" + }, + "to": { + "entity": "vertical_article", + "field": "id" + } + }, + { + "relation": "0,n:1", + "from": { + "entity": "vertical_tag_article", + "field": "id_tag" + }, + "to": { + "entity": "vertical_tag", + "field": "id" + } + }, + { + "relation": "0,n:1", + "from": { + "entity": "vertical_tag_article", + "field": "id_article" + }, + "to": { + "entity": "vertical_article", + "field": "id" + } + }, + { + "relation": "0,n:1", + "from": { + "entity": "vertical_topic_tag", + "field": "id_topic" + }, + "to": { + "entity": "vertical_topic", + "field": "id" + } + }, + { + "relation": "0,n:1", + "from": { + "entity": "vertical_topic_tag", + "field": "id_tag" + }, + "to": { + "entity": "vertical_tag", + "field": "id" + } + }, + { + "relation": "0,n:1", + "from": { + "entity": "vertical_article", + "field": "article_author_id" + }, + "to": { + "entity": "vertical_user", + "field": "id" + } + }, + { + "relation": "0,n:1", + "from": { + "entity": "vertical_user_tag", + "field": "id_tag" + }, + "to": { + "entity": "vertical_tag", + "field": "id" + } + }, + { + "relation": "0,n:1", + "from": { + "entity": "vertical_user_tag", + "field": "id_user" + }, + "to": { + "entity": "vertical_user", + "field": "id" + } + }, + { + "relation": "0,n:1", + "from": { + "entity": "vertical_user_role", + "field": "id_user" + }, + "to": { + "entity": "vertical_user", + "field": "id" + } + }, + { + "relation": "0,n:1", + "from": { + "entity": "vertical_user_role", + "field": "id_role" + }, + "to": { + "entity": "vertical_role", + "field": "id" + } + } + ] + } + ], + "dataTypeDomains": { + "datatype": [ + { + "name": "默认字串", + "code": "DefaultString", + "apply": { + "JAVA": { + "type": "String" + }, + "MYSQL": { + "type": "VARCHAR(32)" + }, + "ORACLE": { + "type": "NVARCHAR2(32)" + }, + "SQLServer": { + "type": "NVARCHAR(32)" + }, + "PostgreSQL": { + "type": "VARCHAR(32)" + } + } + }, + { + "name": "标识号", + "code": "IdOrKey", + "apply": { + "JAVA": { + "type": "String" + }, + "ORACLE": { + "type": "VARCHAR2(32)" + }, + "MYSQL": { + "type": "VARCHAR(32)" + }, + "SQLServer": { + "type": "VARCHAR(32)" + }, + "PostgreSQL": { + "type": "VARCHAR(32)" + } + } + }, + { + "name": "标识号-长", + "code": "LongKey", + "apply": { + "MYSQL": { + "type": "VARCHAR(64)" + }, + "ORACLE": { + "type": "VARCHAR2(64)" + }, + "JAVA": { + "type": "String" + }, + "SQLServer": { + "type": "VARCHAR(64)" + }, + "PostgreSQL": { + "type": "VARCHAR(64)" + } + } + }, + { + "name": "名称", + "code": "Name", + "apply": { + "JAVA": { + "type": "String" + }, + "MYSQL": { + "type": "VARCHAR(128)" + }, + "ORACLE": { + "type": "NVARCHAR2(128)" + }, + "SQLServer": { + "type": "NVARCHAR(128)" + }, + "PostgreSQL": { + "type": "VARCHAR(128)" + } + } + }, + { + "name": "备注说明", + "code": "Intro", + "apply": { + "JAVA": { + "type": "String" + }, + "MYSQL": { + "type": "VARCHAR(512)" + }, + "ORACLE": { + "type": "NVARCHAR2(512)" + }, + "SQLServer": { + "type": "NVARCHAR(512)" + }, + "PostgreSQL": { + "type": "VARCHAR(512)" + } + } + }, + { + "name": "字串-短", + "code": "ShortString", + "apply": { + "JAVA": { + "type": "String" + }, + "MYSQL": { + "type": "VARCHAR(128)" + }, + "ORACLE": { + "type": "NVARCHAR2(128)" + }, + "SQLServer": { + "type": "NVARCHAR(128)" + }, + "PostgreSQL": { + "type": "VARCHAR(128)" + } + } + }, + { + "name": "字串-中", + "code": "MiddleString", + "apply": { + "JAVA": { + "type": "String" + }, + "MYSQL": { + "type": "VARCHAR(1024)" + }, + "ORACLE": { + "type": "NVARCHAR2(1024)" + }, + "SQLServer": { + "type": "NVARCHAR(1024)" + }, + "PostgreSQL": { + "type": "VARCHAR(1024)" + } + } + }, + { + "name": "字串-长", + "code": "LongString", + "apply": { + "JAVA": { + "type": "String" + }, + "ORACLE": { + "type": "NVARCHAR2(3072)" + }, + "MYSQL": { + "type": "VARCHAR(3072)" + }, + "SQLServer": { + "type": "NVARCHAR(3072)" + }, + "PostgreSQL": { + "type": "VARCHAR(3072)" + } + } + }, + { + "name": "大文本", + "code": "LongText", + "apply": { + "JAVA": { + "type": "String" + }, + "MYSQL": { + "type": "TEXT" + }, + "ORACLE": { + "type": "CLOB" + }, + "SQLServer": { + "type": "NTEXT" + }, + "PostgreSQL": { + "type": "TEXT" + } + } + }, + { + "name": "小数", + "code": "Double", + "apply": { + "JAVA": { + "type": "Double" + }, + "MYSQL": { + "type": "DECIMAL(32,10)" + }, + "ORACLE": { + "type": "NUMBER(32,10)" + }, + "SQLServer": { + "type": "DECIMAL(32,10)" + }, + "PostgreSQL": { + "type": "DECIMAL(32,10)" + } + } + }, + { + "name": "比例", + "code": "Ratio", + "apply": { + "MYSQL": { + "type": "DECIMAL(4,2)" + }, + "JAVA": { + "type": "Double" + }, + "ORACLE": { + "type": "NUMBER(4,2)" + }, + "SQLServer": { + "type": "DECIMAL(4,2)" + }, + "PostgreSQL": { + "type": "DECIMAL(4,2)" + } + } + }, + { + "name": "整数", + "code": "Integer", + "apply": { + "JAVA": { + "type": "Integer" + }, + "MYSQL": { + "type": "INT" + }, + "ORACLE": { + "type": "INT" + }, + "SQLServer": { + "type": "INT" + }, + "PostgreSQL": { + "type": "INT" + } + } + }, + { + "name": "大整数", + "code": "BigInt", + "apply": { + "MYSQL": { + "type": "BIGINT" + }, + "JAVA": { + "type": "Long" + }, + "ORACLE": { + "type": "NUMBER" + }, + "SQLServer": { + "type": "BIGINT" + }, + "PostgreSQL": { + "type": "BIGINT" + } + } + }, + { + "name": "金额", + "code": "Money", + "apply": { + "JAVA": { + "type": "Double" + }, + "MYSQL": { + "type": "DECIMAL(32,8)" + }, + "ORACLE": { + "type": "NUMBER(32,8)" + }, + "SQLServer": { + "type": "DECIMAL(32,8)" + }, + "PostgreSQL": { + "type": "DECIMAL(32,8)" + } + } + }, + { + "name": "是否", + "code": "YesNo", + "apply": { + "JAVA": { + "type": "String" + }, + "MYSQL": { + "type": "VARCHAR(1)" + }, + "ORACLE": { + "type": "VARCHAR2(1)" + }, + "SQLServer": { + "type": "VARCHAR(1)" + }, + "PostgreSQL": { + "type": "VARCHAR(1)" + } + } + }, + { + "name": "数据字典", + "code": "Dict", + "apply": { + "JAVA": { + "type": "String" + }, + "MYSQL": { + "type": "VARCHAR(32)" + }, + "ORACLE": { + "type": "VARCHAR2(32)" + }, + "SQLServer": { + "type": "VARCHAR(32)" + }, + "PostgreSQL": { + "type": "VARCHAR(32)" + } + } + }, + { + "name": "日期", + "code": "Date", + "apply": { + "JAVA": { + "type": "Date" + }, + "MYSQL": { + "type": "DATE" + }, + "ORACLE": { + "type": "DATE" + }, + "SQLServer": { + "type": "DATE" + }, + "PostgreSQL": { + "type": "DATE" + } + } + }, + { + "name": "日期时间", + "code": "DateTime", + "apply": { + "JAVA": { + "type": "Date" + }, + "MYSQL": { + "type": "DATETIME" + }, + "ORACLE": { + "type": "DATE" + }, + "SQLServer": { + "type": "DATE" + }, + "PostgreSQL": { + "type": "DATE" + } + } + }, + { + "name": "单字符", + "code": "Char", + "apply": { + "MYSQL": { + "type": "CHAR(1)" + }, + "ORACLE": { + "type": "CHAR(1)" + }, + "JAVA": { + "type": "String" + }, + "SQLServer": { + "type": "CHAR(1)" + }, + "PostgreSQL": { + "type": "CHAR(1)" + } + } + }, + { + "name": "BIGINT_19", + "code": "BIGINT_19", + "apply": { + "MYSQL": { + "type": "BIGINT(19)" + } + } + }, + { + "name": "CHAR_1", + "code": "CHAR_1", + "apply": { + "MYSQL": { + "type": "CHAR(1)" + } + } + }, + { + "name": "DATETIME", + "code": "DATETIME", + "apply": { + "MYSQL": { + "type": "DATETIME" + } + } + }, + { + "name": "INT_10", + "code": "INT_10", + "apply": { + "MYSQL": { + "type": "INT(10)" + } + } + }, + { + "name": "TEXT", + "code": "TEXT", + "apply": { + "MYSQL": { + "type": "TEXT" + } + } + }, + { + "name": "TINYINT_3", + "code": "TINYINT_3", + "apply": { + "MYSQL": { + "type": "TINYINT(3)" + } + } + }, + { + "name": "VARCHAR_1024", + "code": "VARCHAR_1024", + "apply": { + "MYSQL": { + "type": "VARCHAR(1024)" + } + } + }, + { + "name": "VARCHAR_11", + "code": "VARCHAR_11", + "apply": { + "MYSQL": { + "type": "VARCHAR(11)" + } + } + }, + { + "name": "VARCHAR_128", + "code": "VARCHAR_128", + "apply": { + "MYSQL": { + "type": "VARCHAR(128)" + } + } + }, + { + "name": "VARCHAR_256", + "code": "VARCHAR_256", + "apply": { + "MYSQL": { + "type": "VARCHAR(256)" + } + } + }, + { + "name": "VARCHAR_32", + "code": "VARCHAR_32", + "apply": { + "MYSQL": { + "type": "VARCHAR(32)" + } + } + }, + { + "name": "VARCHAR_512", + "code": "VARCHAR_512", + "apply": { + "MYSQL": { + "type": "VARCHAR(512)" + } + } + }, + { + "name": "VARCHAR_64", + "code": "VARCHAR_64", + "apply": { + "MYSQL": { + "type": "VARCHAR(64)" + } + } + } + ], + "database": [ + { + "code": "MYSQL", + "template": "DROP TABLE {{=it.entity.title}};\n$blankline\nCREATE TABLE {{=it.entity.title}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.pk }}{{ pkList.push(field.name) }}{{?}}\n {{=field.name}} {{=field.type}} {{= field.pk ? 'NOT NULL' : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,';')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0 ? ',' :'' ) }}\n{{~}}{{? pkList.length >0 }} PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n CONSTRAINT PK_{{=it.entity.title}} PRIMARY KEY CLUSTERED ({{~pkList:pkName:i}}{{= pkName }} ASC {{= i0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i