zoukankan      html  css  js  c++  java
  • 自动化升级工具之客户端升级工具之数据库升级操作

    目前客户端工具还是一个以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

    到此,测试环境下的目标数据库已经升级成功,目前还没支持升级成功后数据测试和升级失败后的回滚操作,后续会进行相关功能的开发,备注:目前针对数据库比较部分只限表结构、视图、存储过程和触发器,另外表结构中的主键的修改,也不在比较范围内,服务器端服务升级数据库也是分5个文件,每一个文件的执行都是在一个事务中,所以在升级失败如果,还请手工处理数据库部分。

    后续 服务的升级操作

  • 相关阅读:
    异步编程
    MVC返回文件
    MVC源码分析
    MVC源码分析
    MVC源码分析
    MVC源码分析
    MVC源码分析
    MVC源码分析
    MVC源码分析
    MVC源码分析
  • 原文地址:https://www.cnblogs.com/yaosy/p/6087054.html
Copyright © 2011-2022 走看看