[原创]用PowerDesigner制作数据库升级脚本

 
很多人使用PD的时候就问有没有制作自动升级脚本的功能。其实是有的。
操作原理: 1、保存原来的版本,另存为apm的文件,生成一个Archive Model。 2、生成升级脚本,需要选择原来的版本
操作步骤: 1、打开PDM文件,选择Save as .... 另存为,在弹出的窗口中选择apm的文件类型,输入文件名保存即可。 2、修改相关的数据模型的内容,然后保存。 3、选择DataBase菜单中的modify database... 菜单 4、在弹出的窗口中设置升级脚本的目录及文件名后,在synchronization页框中的obtains database schema中选择using an archive model: 选择原先保存的apm文件。后面的其它页框设置与生成脚本的类似。
5、点一下确定,PD就会自动生成数据库的对比信息,弹出一个database synchronization窗口,这里这个窗口里列出了所有的差异信息,你可以选择需要升级的内容。点ok就可以看到升级脚本了。

生成脚本分析: 总体来讲还是很智能化的一个工具。 比如增加一个列,生成就的脚本就很简单。脚本如下: alter table SY_MsgSend add Column_8 CHAR(10) /
在删除列的时候就充分体现出智能化的升级脚本,如下所示,做了一个删除列的操作会生成一系列的升级脚本:

/*==============================================================*/ 
/* Database name: Database */
/* DBMS name: ORACLE Version 9i */
/* Created on: 2007-9-6 11:12:26 */
/*==============================================================*/ alter table SY_MsgReceiver drop constraint FK_SY_MSGRE_SY_MSGREC_SY_MSGSE / drop table tmp_SY_MsgSend cascade constraints / /*==============================================================*/
/* Table: tmp_SY_MsgSend */
/*==============================================================*/ create table tmp_SY_MsgSend (
MS_ID NUMBER(10) not null,
MS_Content VARCHAR2(4000),
MS_SendTime DATE,
MS_Type VARCHAR2(4),
MS_Sender NUMBER(8),
MS_Status NUMBER(1) default 1 not null,
MS_MsgSource NUMBER(2) default 1 not null,
Column_8 CHAR(10) ) / insert into tmp_SY_MsgSend (MS_ID, MS_Content, MS_SendTime, MS_Type, MS_Sender, MS_Status, MS_MsgSource)
select MS_ID, MS_Content, MS_SendTime, MS_Type, MS_Sender, MS_Status, MS_MsgSource from SY_MsgSend / drop table SY_MsgSend cascade constraints / /*==============================================================*/
/* Table: SY_MsgSend */
/*==============================================================*/ create table SY_MsgSend (
MS_ID NUMBER(10) not null,
MS_Content VARCHAR2(4000),
MS_SendTime DATE,
MS_Type VARCHAR2(4),
MS_Sender NUMBER(8),
MS_Status NUMBER(1) default 1 not null,
MS_MsgSource NUMBER(2) default 1 not null,
constraint PK_SY_MSGSEND primary key (MS_ID) ) tablespace TBS_EOFFICE / insert into SY_MsgSend (MS_ID, MS_Content, MS_SendTime, MS_Type, MS_Sender, MS_Status, MS_MsgSource)
select MS_ID, MS_Content, MS_SendTime, MS_Type, MS_Sender, MS_Status, MS_MsgSource from tmp_SY_MsgSend / /*==============================================================*/
/* Index: Index_47 */
/*==============================================================*/
create index Index_47 on SY_MsgSend ( MS_Sender ASC ) tablespace TBS_IDX_Eoffice / alter table SY_MsgReceiver add constraint FK_SY_MSGRE_SY_MSGREC_SY_MSGSE foreign key (MS_ID)
references SY_MsgSend (MS_ID) on delete cascade /

【转】用PowerDesigner制作数据库升级脚本的更多相关文章

  1. MySQL/MariaDB/Percona数据库升级脚本

    MySQL/MariaDB/Percona数据库升级脚本截取<OneinStack>中upgrade_db.sh, 一般情况下不建议升级数据库版本,该脚本专提供给各位版本控们.为防止大版本 ...

  2. mysql 下数据库升级脚本的编写

    1 升级时必须得存储过程 /**/ drop procedure if exists pro_upgrade; DELIMITER // CREATE DEFINER=`root`@`%` PROCE ...

  3. Web工程软件升级之数据库升级(一)

    1. 首先检查oracle数据库版本是否正确 (可以使用方法 lsinventory来实现) 2. 检查oracle连接是否成功 3. 解压升级包,放到特定目录 4. 做升级前数据备份,备份主要业务数 ...

  4. PowerDesigner 如何生成数据库更新脚本

    最近在学习使用PowerDesigner 这个数据库设计工具,发现真的很强大,可以做很多事情,其中就涉及到如果数据库要进行更新了怎么办,主要是增加表,最麻烦的是修改字段名称,增加字段等操作,遇到主要的 ...

  5. python脚本--mysql数据库升级、备份

    在公司经常要做测试环境的升级.备份.维护:升级后台的应用,不可避免要进行数据库的升级与备份,花了一个上午琢磨了一个脚本分享给大家. ToB的业务,在做环境维护的时候,有初始化环境和增量升级的环境,在测 ...

  6. powerdesigner 生成数据库脚本

    PowerDesigner导出所有SQL脚本 操作:Database=>Generate Database PowerDesigner怎么导出建表sql脚本 1 按照数据库类型,切换数据库. D ...

  7. PowerDesigner 设计数据库中常用脚本

    PowerDesigner 设计数据库中常用脚本 数据库设计 物理模型设置 Name转Comment脚本 '********************************************** ...

  8. OTA制作及升级过程笔记【转】

    本文转载自:http://www.it610.com/article/5752570.htm 1.概述 1.1   文档概要 前段时间学习了AndroidRecovery模式及OTA升级过程,为加深理 ...

  9. 【安卓】数据库基于脚本的&quot;增量更新&quot;,每次更新时不需改动java代码、!

    思路: 1.当然是基于SQLiteOpenHelper.onCreate(第一次安装程序时调用).onUpdate(升级程序时调用) 2.用"脚本"(脚本制作详细方法问度娘)做数据 ...

随机推荐

  1. jquery系列教程1-选择器全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: jquery系列教程1-选择器全解 jquery系列教程2-style样式操作全解 jquery系列教程3-DOM操作全解 jquery系列教程4-事件 ...

  2. 小白学Maven第一篇配置

    在百度上搜Maven进入官网,然后在进Download里面把apache-maven-3.5.0-bin.zip(记得不要下错)下载下来 然后进行安装 (前提你配置了Java如下图) Java配置: ...

  3. python - 常用模块栗子

    前言  内容摘自Python参考手册(第4版) 及 自己测试后得出.仅作为一个简单记录,方便使用查询之用. 另 dir(func)及func.__doc__可以查看对象属性及说明文档. 序列Seque ...

  4. SAP 参照sto订单创建外向交货BAPI

    DATA: SHIP_POINT TYPE TVST-VSTEL, "装运点/接收点 NUM_DELIVERIES TYPE VBNUM, STOCK_TRANS_ITEMS WITH HE ...

  5. java基础---java语言概述

    一.计算机编程的两种范型 1.面向过程的模型---具有线性执行特点,认为是代码作用于数据. 2.面向对象的模型---围绕它的数据(即对象)和为这个数据定义的接口来组织程序:实际上是用数据控制代码的访问 ...

  6. python 中的enumerate()函数的用法

    enumerate函数说明: 函数语法:enumerate(可遍历的对象,索引号开始的值).enumerate(sequence, [start=0]) 功能:将可循环序列sequence以start ...

  7. [问题记录]父元素position:relative的深坑

    个人博客迁移至:https://blog.plcent.com/欢迎大家访问 今天在写全屏切换的时候,发现一个问题就是切换时只能滚动第一屏,其他屏死都不动, 全屏滚动的原理: 是每次滚动父元素向上滚动 ...

  8. tp5引入第三方类库

    1.在/public/index.php中添加 define('EXTEND_PATH', '../extend/'); 2./extend/lib 中添加第三方类,类文件的名称和类名一样,命名空间为 ...

  9. Mybatis基本用法--上

    Mybatis基本用法--上 本文只是为自己查漏补缺.全面的请看官方文档,支持中英文 原理参考:http://blog.csdn.net/luanlouis/article/details/40422 ...

  10. Nodejs.热部署方法

    在开发中我们修改了一点代码后要去重启服务器才能看到结果,为了省去这个过程我们以往经常使用热部署代码的方法 下面是使用"supervisor"来达到热部署能力的方法: sudo np ...