你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Java专栏
让开发自动化: 使用自动化加速部署(6)
 

自动化 DBA

在设置目标测试环境时,经常需要执行一些手动操作,例如配置数据库、插入测试数据、删除旧条目以及其他重复性(并且容易出错)流程。幸运的是,在部署期间处理数据库可以变得更加简单。

Data Definition Language(DDL)语句(如删除现有数据库、创建数据库和创建数据库用户)以及 Data Manipulation(DML)语句(如 insert 语句)可以轻松地脚本化并作为 Ant 构建脚本的一部分运行。而且,还可以远程执行这些语句。

例如,通过从目标环境 .properties 文件传递一个 db.url.system 属性(如清单 4 所示),构建环境可以针对一个远程数据库执行 SQL 语句:


清单 4. 创建数据库和插入数据的脚本
<target name="refresh-database" depends="create-database,insert-data" />
<target name="create-database">
  <sql driver="${db.driver}"
    url="${db.url.system}" 
    userid="${db.username.system}"
    password="${db.password.system}"
    src="${database.dir}/create-database.sql"> 
    <classpath>
      <pathelement location="${mysql-connector.jar}"/>
    </classpath>
  </sql>
</target>
...
<target name="insert-data">
  <sql driver="${db.driver}"
    url="${db.url}"
    userid="${db.username}"
    password="${db.password}"
    src="${database.dir}/insert-data.sql">
    <classpath>
      <pathelement location="${mysql-connector.jar}"/>
    </classpath>
  </sql>
</target>

清单 5 中 insert-data.sql 文件的内容是从清单 4 的 insert-data 目标调用的。任何 SQL 语句,DDL 或 DML,都可通过 Ant 的 sql 任务以类似方式执行。


清单 5. 执行数据插入的 SQL 语句
insert into beer(id, beer_name, date_received) values 
  (1, 'Samuel Adams Lager','2006-12-09');
insert into beer(id, beer_name, date_received) values 
  (2, 'Guinness Stout','2006-12-29');
insert into beer(id, beer_name, date_received) values 
  (3, 'Olde Saratoga Lager','2007-02-14');
insert into beer(id, beer_name, date_received) values 
  (4, 'Sierra Nevada Pale Ale','2007-05-14');

现在我已经更新了远程数据库,下一个逻辑步骤是向运行 Tomcat 的远程环境部署一些资源。

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089