首页 > 代码库 > 自动化升级工具之客户端升级工具之数据库升级操作

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

目前客户端工具还是一个以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="http://www.mamicode.com/81FE139E270645A3AF8D02B856D07FD6" />

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

    <add key="FtpLoginUser" value="http://www.mamicode.com/A72C6B389570619D3675443B96F8646C" />

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

    <add key="FtpLoginPassword" value="http://www.mamicode.com/D7D02674A2EF7A9F" />

    <!--ftp路径-->

    <add key="FtpDir" value="http://www.mamicode.com/F://win8file//Y-BaseFramework.YBF//YBaseFramework.YBF.UpdateFile//" />

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

 

 技术分享

 

图2

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

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

 <target key="test-lan" value="http://www.mamicode.com/上线测试类"></target>

     <target key="online-wan" value="http://www.mamicode.com/生产环境类"></target>

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

<dbconfig key="dbtest" value="http://www.mamicode.com/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

 

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

后续 服务的升级操作

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