PDMan 是一款开源免费的数据库模型建模工具,是PowerDesigner之外另一种更好的选择。支持Windows,Mac,Linux等操作系统,具有上手容易,使用简单的特点。

2018年获得码云GVP (Gitee Most Valuable Projects) - 码云最有价值开源项目

因为种种原因,开发及更新沉寂了一年多。 通过多方面的努力,终于完成了插件替换以及升级,在生成文档部分目前已经使用开源的poi+poi-tl,从而使得完全开源成为了现实。删除了生成PDF功能,用户可导出WORD之后,手动编辑后自行生成PDF。目前客户端以及内部嵌Java源代码均已 全部开源

PDMan-2.2 发布,沉寂一年后全面开源 | 国产数据建模工具

1.支持索引的模板(作者:Violet_Ice紫冰):

CREATE TABLE {{=it.entity.title}}(
{{ pkList = [] ; }}
{{ indexList = [] ; }}
{{~it.entity.fields:field:index}}
    {{? field.pk }}{{ pkList.push(field.name) }}{{?}}
    `{{=field.name}}` {{=field.type}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }} {{= field.defaultValue ? it.func.join('DEFAULT',field.defaultValue,' ') : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,' ')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' : it.entity.indexs.length > 0 ? ',' : '' ) }}
{{~}}
{{? pkList.length >0 }}
    PRIMARY KEY ({{~pkList:pkName:i}}`{{= pkName }}`{{= i<pkList.length-1 ? ',' : '' }}{{~}}){{= it.entity.indexs.length > 0 ? ',' : '' }}
{{?}}
{{~it.entity.indexs:row:index}}
    {{= row.isUnique ? 'UNIQUE ' : '' }}INDEX `{{= row.name}}`({{~row.fields:indexName:i}}`{{= indexName}}`{{= i<row.fields.length-1 ? ',' : '' }}{{~}}){{= index < it.entity.indexs.length-1 ? ',' : '' }}
{{~}}
) COMMENT = '{{= it.entity.chnname }}{{? it.entity.remark}} {{= it.entity.remark}}{{?}}'{{=it.separator}}
$blankline

2.原始模板数据备份:

CREATE TABLE {{=it.entity.title}}(
{{ pkList = [] ; }}
{{~it.entity.fields:field:index}}
    {{? field.pk }}{{ pkList.push(field.name) }}{{?}}
    {{=field.name}} {{=field.type}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }} {{= field.defaultValue ? it.func.join('DEFAULT',field.defaultValue,' ') : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,' ')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}
{{~}}
{{? pkList.length >0 }}
    PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})
{{?}}
) COMMENT = '{{=it.func.join(it.entity.chnname,it.entity.remark,' ') }}'{{=it.separator}}
$blankline

wrq2T0.png


标题:PDMan数据库模型建模工具 自定义模板添加对索引的支持
作者:張叁
地址:http://zhang.love/PDMan