源起

当我们平常使用数据库sql审核平台archery时,默认的创建索引DDL语句时,创建索引要包含在建表语句中,修改索引建议使用ALTER TABLE形式进行修改,不能使用CREATE形式DDL处理索引

所以当我们在使用数据库建模工具PDManer时,官方提供的DDL模板会产生生成的语句不能直接使用

解决方案

  • 重置PDManer的DDL模板
  1. 重置建表DDL模板,模板粘贴到上图位置
DROP TABLE IF EXISTS {{=it.entity.defKey}};
CREATE TABLE {{=it.entity.defKey}}(
{{ pkList = [] ; }}
{{~it.entity.fields:field:index}}
{{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}
`{{=field.defKey}}` {{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }} {{= field.defaultValue ? it.func.join('DEFAULT',field.defaultValue,' ') : '' }} COMMENT '{{=it.func.join(field.defName,field.comment,';')}}' {{= index < it.entity.fields.length-1 ? ',' : ( (pkList.length>0 || it.entity.indexes.length > 0) ? ',' :'' ) }}
{{~}}
{{? pkList.length >0 }}
PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : ''}}{{~}}){{=( it.entity.indexes.length > 0 ? ',' :'' )}}
{{?}}{{~ it.entity.indexes:idx:index}}
{{? idx.unique}}UNIQUE {{?}}INDEX {{=idx.defKey}}({{ fieldsKeys = idx.fields.map(function(field){return field.fieldDefKey}) ; }}{{=it.func.join(...fieldsKeys,',')}}){{= index<it.entity.indexes.length-1 ? ',' : '' }}
{{~}}) COMMENT = '{{=it.func.join(it.entity.defName,it.entity.comment,';') }}';
$blankline
  1. 删除“新建索引代码”模板

前后对比

解决前

DROP TABLE IF EXISTS SIMS_STUDENT;
CREATE TABLE SIMS_STUDENT(`COLLEGE_ID` VARCHAR(32) NOT NULL   COMMENT '所在学院ID' ,`CLASS_ID` VARCHAR(32) NOT NULL   COMMENT '所在班级ID' ,`STUDENT_ID` VARCHAR(32) NOT NULL   COMMENT '学生ID' ,PRIMARY KEY (`STUDENT_ID`)
)  COMMENT = '学生';CREATE INDEX idx_smis_student_01 ON SIMS_STUDENT(STUDENT_NAME,ENG_NAME);
CREATE INDEX idx_smis_student_cert ON SIMS_STUDENT(ID_CARD_NO);

解决后

DROP TABLE IF EXISTS SIMS_STUDENT;
CREATE TABLE SIMS_STUDENT(
`COLLEGE_ID` VARCHAR(32) NOT NULL   COMMENT '所在学院ID' ,
`CLASS_ID` VARCHAR(32) NOT NULL   COMMENT '所在班级ID' ,
`STUDENT_ID` VARCHAR(32) NOT NULL   COMMENT '学生ID',
PRIMARY KEY (STUDENT_ID),
INDEX idx_smis_student_01(STUDENT_NAME,ENG_NAME),
INDEX idx_smis_student_cert(ID_CARD_NO)
) COMMENT = '学生';

其他

如果想对表增加索引自动生成索引时也可以对“新建索引代码”模板进行调整,可替换为ALTER TABLE形式进行修改表索引,而非CREATE

数据库建模工具PDManer调整建表模板(包含索引)相关推荐

  1. PDMan-国产免费通用数据库建模工具

    背景情况说明 本人长期以来一直从事于金融应用软件的研发以及项目实施工作,经常做数据库建模(数据表设计).有一款称心如意的数据库建模工具,自然能够事半功倍,PowerDesigner的pdm模型为我的工 ...

  2. 《MySQL高级篇》数据库建模工具---PowderDesigner的使用教程

    文章目录 PowerDesigner的使用 11.1 开始界面 11.2 概念数据模型 11.3 物理数据模型 11.4 概念模型转为物理模型 11.5 物理模型转为概念模型 11.6 物理模型导出S ...

  3. PDMan-2.1.3 发布:用心开源,免费的国产数据库建模工具

    2019独角兽企业重金招聘Python工程师标准>>> 一.软件介绍 PDMan 是一款开源免费的数据库模型建模工具,是PowerDesigner之外另一种更好的选择.支持Windo ...

  4. 国产数据库建模工具,看到界面第一眼,良心了! ​

    软件开发中,数据建模是必不可少的,说到数据库建模工具,很多人想到的第一个工具就是powerdesigner,但是单数据库建模这块来说,给人的感觉还是太重了,并且不支持多种客户端,像我现在用Mac只能望 ...

  5. 数据库建模工具(PowerDesigner)

    一 定义 是一个数据库建模工具 是Sybase的企业建模和设计解决方案 , 采用模型驱动方法 , 将业务与IT结合起来 , 可帮助部署有效的企业体系架构 , 并为研发生命周期管理提供强大的分析与设计技 ...

  6. 能与PowerDesigner媲美的数据库建模工具PDMan

    软件生存周期分为: 1.可行性分析与项目开发计划 2.需求分析 3.概要设计 4.详细设计 5.编码 6.测试 7.维护 而数据库建模工作就发生在"编码"之前,"概要设计 ...

  7. mysql数据库建表失败_mysql数据库文件太大导致建表失败,如何避免

    [求助]mysql数据库文件太大导致建表失败,如何处理? 目录下各文件大小如下: root /mbsc/mysql/data # ll total 120646812 -rw-rw---- 1 mys ...

  8. 用数据库建模工具进行数据库建模

    很多人在进行数据库设计的时候,还是喜欢使用word文档的格式设计好数据库结构以后,再进行物理数据库的创建:而真正使用数据库建模工具进行数据库设计的就很少了:如果你讯问那些不愿意使用数据库建模工具的人为 ...

  9. 05_ClickHouse、MergeTree系列引擎概述与存储结构、建表模板、建表语句、MergeTree设置、建表示例、数据存储、数据片段(data part)

    2.MergeTree系列引擎概述与存储结构 2.1.建表模板 2.2.建表语句 2.3.MergeTree设置 2.4.建表示例 2.5.数据存储 2.6.数据片段(data part) 2.Mer ...

最新文章

  1. 安徽专升本c语言真题卷大题_安徽成人高考难吗?专升本难吗?
  2. python画并列柱状图-Python实现绘制双柱状图并显示数值功能示例
  3. c++编辑器_盘点四款PDF编辑器,使用它们,编辑PDF文件没问题!
  4. linux编写运行shell程序,Linux的Shell编程运行Shell程序的方法有哪些呢?
  5. 地球化学图解系统GCDPlot 0.33
  6. 计算机网络之传输层:6、TCP流量控制、滑动窗口协议
  7. 信息学奥赛一本通(1328:【例7.7】光荣的梦想)
  8. html5学生信息注册码,JavaScript+HTML实现学生信息管理系统代码示例
  9. 计算机程序设计社团,学生社团管理系统
  10. github 视觉测量_计算机视觉资源推荐:多人实时关键点(脸、手、足)检测库...
  11. cocos2d-html5 碰撞检测的几种方法
  12. win10应用商店linux_win10应用商店中有哪些推荐的应用?
  13. 回想让你最有成就感的bug是什么?你是如何发现这个bug的?
  14. 表白墙微信小程序源码
  15. 科猫网项目总结(基于SSM框架)
  16. 360度全景图可以手动旋转的怎么制作?
  17. springboot 集成 actuator
  18. 如何激活移动物联网卡
  19. 写给 Java 程序员的前端 Promise 教程
  20. 计算机开机界面,电脑开机一直出现bios界面

热门文章

  1. html数字记分牌效果,一种电子记分牌的制作方法
  2. Linux学习总结(六): 正则表达式
  3. 解决origin2022工具栏没有从CSV文件导入数据的问题
  4. 2014 android 机型排行,2014年10月十佳Android系统智能安卓手机排行榜单 Note 4第一名...
  5. 刚刚面试,我被拒了!HR回复了 4 个字…
  6. 「Do.054」完成经历了一次公司的破产清算
  7. win7打开计算机有嘟嘟提示音,电脑在运行中会发嘟嘟嘟的响声
  8. 16g电脑内存有什么好处_笔电是8g内存,想加内存,是一个32G好,还是两条都换成16G好?...
  9. 计算机老师老师的发展前进,描写教师的优美句子 将永远激励着我人生前进的脚步...
  10. layui form表单ajax提交