自动化升级工具之客户端升级工具之数据库升级操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化升级工具之客户端升级工具之数据库升级操作相关的知识,希望对你有一定的参考价值。

目前客户端工具还是一个以Winform的窗口程序,文件结构如图:

 技术分享

 

 1

 

1、两个config的配置文件,分别一个是连接本地开发环境下在数据库,另外一个基本参数配置文件

   A、DB.config为数据库连接内容如下:

<DBConfig name="dbtestDBByMP" connectionString="server=(local);database=dbtest;uid=sa;pwd=123456;" providerName="System.Data.SqlClient" />

目前,仅坚持mssql数据库;

   B、YBF.AutoDeployManageTool.exe.config 为参数配置,目前仅为ftp相关参数的配置,操作按照服务器端ftp参数加密操作方式一样,内容如下:

<add key="FtpIP" value="81FE139E270645A3AF8D02B856D07FD6" />

    <!--ftp登录帐号 正式:localemail-->

    <add key="FtpLoginUser" value="A72C6B389570619D3675443B96F8646C" />

    <!--ftp登录密码 正式:-->

    <add key="FtpLoginPassword" value="D7D02674A2EF7A9F" />

    <!--ftp路径-->

    <add key="FtpDir" value="F:\\\\win8file\\\\Y-BaseFramework.YBF\\\\YBaseFramework.YBF.UpdateFile\\\\" />

操作区上分为数据库升级、服务升级、站点升级三个Tab,操作也是按照顺序操作即可,下面就顺序讲解操作与配置相关文件,主界面如图:

 

 技术分享

 

图2

2、数据库升级,我们先要配置文件夹conf中的两个XML文件,分别为:

   Target.xml 此为升级目标机的分类 目前分为两类一类是测试环境 一类是生产环境 内容如下:

 <target key="test-lan" value="上线测试类"></target>

     <target key="online-wan" value="生产环境类"></target>

UpdateDBConfig.xml 此为升级数据库目标机的具体服务器的配置,内容如下

<dbconfig key="dbtest" value="dbtest数据库" target="test-lan"

            targetServer="127.0.0.1" targetDatabase="dbtest_1" targetUid="sa" targetPwd="123456" targetProviderName="System.Data.SqlClient"            uploadlocalpath="F:\\\\win8file\\\\Y-BaseFramework.YBF\\\\YBaseFramework.YBF.Web\\\\YBaseFramework.YBF.AutoDeployManageTool\\\\bin\\\\Debug\\\\UpdatePack\\\\{0}.zip"

            wcfserviceurl="http://127.0.0.1/Local/LocalService.svc">

    <command name="Build">

      <![CDATA[  

          

      ]]>

    </command>

</dbconfig>

两个文件中,Target.xml中key的内容为UpdateDBConfig.xml中的target的内容,在UpdateDBConfig.xml中

targetServer 数据库访问地址

targetDatabase 数据库名称

targetUid  帐号

targetPwd 密码

targetProviderName 数据库类型

Uploadlocalpath 上传压缩文件的路径

Wcfserviceurl 目标机上提供的服务器的wcf服务地址

 

根目录下的UpdatePack的文件夹为升级包所在,DBScript文件夹数据库比较升级脚本,提供压缩所用,升级成功后,会在LastSuccessRunTime.xml的文件中节点dbupdate的value更新,标识下次比较数据库的起始时间点,实际操作如图:

A、操作数据库如图:

 技术分享

 

3

B、上次执行的时间点,如图:

 技术分享

 

4

C、与目标机数据库比较的结果,如图:

 技术分享

 

5

D、比较生成的升级脚本文件,如图:

 技术分享

 

6

脚本分别为 字段修改脚本 要在服务器上备份的视图 存储过程 触发器的脚本以防升级失败后回滚所用,创建存储过程脚本 创建触发器脚本 创建视图脚本;

E、点击【一键升级】,进行目标机数据库的升级,如图:

 技术分享

 

7

F、查看目标机数据库升级后的情况,如图:

 技术分享

 

8

 技术分享

 

9

 技术分享

 

10

 

到此,测试环境下的目标数据库已经升级成功,目前还没支持升级成功后数据测试和升级失败后的回滚操作,后续会进行相关功能的开发。

后续 服务的升级操作

以上是关于自动化升级工具之客户端升级工具之数据库升级操作的主要内容,如果未能解决你的问题,请参考以下文章

运维打怪升级之Ansible自动化运维工具

HCIE云计算之FC升级实战操作

Day 17前端工具升级之Javascript & jQuery

升级构建工具,从Makefile到CMake

升级构建工具,从Makefile到CMake

运维之扩容与升级