热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

XMLtoDDL的项目要害:与数据库同步

对于xml2ddl项目,Freshmeat.org供给了一整套基于GNU或者GPL通用公共允许证下的Python程序。在一个运行的Python环境下,这套工具能够在很多把持系统上工作,包含Windows,Linux,以及UNIX平台上,

对于xml2ddl项目,Freshmeat.org供给了一整套基于GNU或者GPL通用公共允许证下的Python程序。在一个运行的Python环境下,这套工具能够在很多把持系统上工作,包含Windows, Linux, 以及UNIX平台上,同时也能工作在以下数据库引擎:PostgreSQL, MySQL, Oracle, 以及Firebird.

基础上,xml2ddl运行用户把一个XML表现的数据库转换成一套SQL或者DDL报表。根据他的制作者和治理者Scott Kirkwood的先容,“XML到DDL努力做到数据库独立以使得同样的XML能够用于各种不同的数据库。例如对于快速测试各种数据库的表现这是非常有用的”

开端这个过程之前,xml2ddl运行用户指向一个模式,制定一个目标数据库,并且出示必要的DDL或者SQL语句实例化数据库。这种简略的XML例子定义为一个名为schemal.xml的文件如下:

 desc="List of students with their full names">
 
  desc="Primary key for the table"/>
  type="varchar" size="80"
 desc="The full name of the student"/>
 

 

应用下列命令行语法调用输出PostgresSQL信息:xml2ddl-数据库的schemal.xml,输出成果如下:

DROP TABLE students;
CREATE TABLE students (
id integer,
student_name varchar(80),
CONSTRAINT pk_students PRIMARY KEY (id));
COMMENT ON TABLE students IS 'List of students with their full names';
COMMENT ON COLUMN students.id IS 'Primary key for the table';
COMMENT ON COLUMN students.student_name IS 'The full name of the student';

通过代替firebird,oracle或者mysql能够天生其它目标数据库的同样类型的输出成果。

该xml2ddl程序也能够检查二个不同版本的XML图例的差别并且天生需要的DDL或者SQL语句从而把这些雷同的变更更新到相干的目标数据库里面往。这就需要两个相干的图例(让我们称之为第二个schema2.xml并且代替schemal.xml),以及应用下面所示的语法:

假如schema2.xml看起来如下:


desc="List of students">
 
desc="Primary key for the table"/>
type="varchar" size="100"
desc="The full name of the student"/>
type="varchar" size="100"
desc="The primary email for the student"/>


那么PostgresSQL将产生以下的DDL输出:

ALTER TABLE students ALTER student_name TYPE varchar(80);
ALTER TABLE students DROP email;
COMMENT ON TABLE students IS 'List of students with their full names';

工程的项目网站上面可以找到一个完整的例子。它们使得应用XML以及相干的结构化编纂工具定义和治理数据库非常轻易,并且使得翻译你的结构化XML成为适当的数据库元语言耗费时间更短,这些使得这些工具变得非常好用。

这其中的价值尽对值得思量,并且为那些荣幸的成为应用一个他们支撑的目标数据库做出一个真正奇妙的数据集成以及治理工具。




推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 离线环境下的Python及其第三方库安装指南
    在项目开发中,有时会遇到电脑只能连接内网或完全无法联网的情况。本文将详细介绍如何在这种环境下安装Python及其所需的第三方库,确保开发工作的顺利进行。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • 本文介绍了如何在Python中使用join()方法将列表中的元素连接成一个字符串。join()方法允许用户指定分隔符,从而灵活地生成所需格式的字符串。此外,我们还将探讨一些实际应用中的注意事项和技巧。 ... [详细]
author-avatar
锋哥很好
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有