[原创]用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. java通过shield链接Elasticsearch

    本文mark了springboot中集成elasticsearch,并且实现连接带有shield权限管理的elasticsearch的方法. tips:首先建议java client版本和elasti ...

  2. haproxy + keepalived 实现网站高可靠

    haproxy 1的配置文件,包括 keepalived 和 haproxy 的配置,分别如下: [haproxy 1的keepalived 配置文件]  /etc/keepalived/keepal ...

  3. Yarn一点小认识

    正文 打开官网http://hadoop.apache.org/docs/r2.6.5/hadoop-yarn/hadoop-yarn-site/YARN.html,将图片拿过来. 我用的是2.6.5 ...

  4. win10 uwp 应用转后台清理内存

    我在写小说阅读器,把每个打开的文件的内容读到内存,因为小说都很小,所以放在内存不怕太大,但是我如果打开了一本小说,再打开一本,我不会把先打开的小说的内容清除掉,在内存.所以一旦我打开多小说的时候,内存 ...

  5. 斐讯 FIR151M 频繁掉线(OpenWRT解决方案)

    0. 现象与前言 在使用斐讯 FIR151M 路由器连接网络时,传输数据时频繁掉线. 官方固件刷了两个版本,问题未解决. 建议高级用户看本教程,要做好不能使用 Web 管理界面的心理准备. 1. 准备 ...

  6. Markdown不常见功能

    推荐几个Markdown不常见功能 1.表情符号 emoji表情使用:EMOJICODE:的格式,详细列表可见 https://www.webpagefx.com/tools/emoji-cheat- ...

  7. 打包zip下载

    //首先引入的文件为org.apache的切记不是jdk的import org.apache.tools.zip.ZipOutputStream;import org.apache.tools.zip ...

  8. bootstrap 鼠标悬停显示

    1. <button type="button" rel="drevil" data-content="报名截止时间:'+time+'" ...

  9. shell参数处理模板

    存一份模板,以后简单参数处理就用它了 #!/bin/bash while getopts h:ms option #选项后面的冒号表示该选项需要参数 do case "$option&quo ...

  10. 66、django之模型层(model)--多表相关操作(图书管理小练习)

    前面几篇随笔的数据库增删改查操作都是在单表的操作上的,然而现实中不可能都是单表操作,更多的是多表操作,一对一,一对多,多对多的表结构才是我们经常需要处理的,本篇将带我们了解多表操作的一些相关操作.也会 ...