[原创]用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. web自动化测试从入门到持续集成(selenium webdriver)

    在很多刚学习自动化的可能会认为我只需要会运用selenium,我只需要在一个编辑器中实用selenium +java编写了一些脚本那么就会自动化了,是真的吗?答案肯定是假的.自动化肯定是需要做到真的完 ...

  2. Android的快速开发框架 afinal

    afinal 框架学习: http://www.oschina.net/p/afinal

  3. FastDFS分布式文件系统

    FastDFS分布式文件系统 阅读目录 相关文章 1 分布式文件系统介绍 2 系统架构介绍 3 FastDFS性能方案 4 Linux基本命令操作 5 安装VirtualBox虚拟机并配置Ubuntu ...

  4. win10 uwp 读取保存WriteableBitmap 、BitmapImage

    我们在UWP,经常使用的图片,数据结构就是 BitmapImage 和 WriteableBitmap.关于 BitmapImage 和 WriteableBitmap 区别,我就不在这里说.主要说的 ...

  5. 简易RPC框架-客户端限流配置

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  6. http服务详解(2)——httpd2.2的配置文件常见设置

    摘要:一个服务的配置文件非常重要,弄懂配置文件是熟练掌握服务的必要前提. 一.httpd-2.2常见文件介绍 (1)配置文件: 主配置文件尽量别改,改自己的子配置文件 /etc/httpd/conf/ ...

  7. Kotlin——最详细的环境搭建

    众所周知,Kotlin出来已经有一段时间了.Kotlin有着众多优势,不管是用于Android开发中,还是Java开发,都能缩减很大的代码量,大大提高了工作效率.而小生本人也是才从忙碌的个工作中抽身出 ...

  8. 获取Django项目的全部url

    在为一个项目添加权限时,遇到一个问题,就是为项目所有的url设置权限,但是一个一个手动输入太麻烦了,所以考虑用代码获取到一个项目所有的url 首先,考虑到项目最外层的urlpartterns,因为所有 ...

  9. LeetCode 55. Jump Game (跳跃游戏)

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  10. C11 constant expressions 常量表达式

    一图流总结hhh