zoukankan      html  css  js  c++  java
  • jenkins配置自动执行sql脚本

    shell脚本:
    bigsql="select big_version,small_version from d0mstore.db_current_version order by big_version desc limit 1;"
    big_version=`mysql -u数据库用户 -p密码 -h ip -P 数据库端口 -e "${bigsql}" 2> /dev/null | awk NR==2'{print $1}'`
    echo $big_version
    smallsql="select big_version,small_version from d0mstore.db_current_version where big_version='$big_version' order by small_version desc limit 1;"
    small_version=`mysql -u数据库用户 -p密码 -h ip -P 数据库端口 -e "${smallsql}" 2> /dev/null | awk NR==2'{print $2}'`
    echo  $small_version
    #查看大版本
    for i in `ls /root/sql`
    do
    #大版本未更新情况
     if (("$i" == "$big_version"));then
      echo "$i"
    #查看小版本
     for x in `ls /root/sql/$i`
      do
    #判断小版本是否有更新sql文件
     if (("$x" > "$small_version"));then
      echo "$x"
    #执行版本sql
     mysql -u数据库用户 -p密码 -h ip -P 数据库端口 < /root/sql/$i/$x/DML.sql
     if [ $? == 0 ];then
    #记录执行当前的版本号
      mysql -u数据库用户 -p密码 -h ip -P 数据库端口 -e "insert into d0mstore.db_current_version(big_version,small_version) values('$i','$x');"
    #记录当前版本好到执行历史表
        mysql -u数据库用户 -p密码 -h ip -P 数据库端口 -e "insert into d0mstore.db_current_version_history(big_version,small_version) values('$i','$x');" &&  echo "scripts Success"
     else
      echo  "scripts FALSE" 
         fi
     else
       echo "scripts is not updated"
      fi
       done
    #新增大版本情况
     elif (("$i" > "$big_version"));then
    #查看新增大版本下的小版本 
     for c in `ls /root/sql/$i`
      do
    #执行小版本下的sql文件
       mysql -u数据库用户 -p密码 -h ip -P 数据库端口 < /root/sql/$i/$c/DML.sql
    #判断sql是否执行成功,执行成功则执行插入sql执行记录表和历史执行表
      if [ $? == 0 ];then
      mysql -u数据库用户 -p密码 -h ip -P 数据库端口 -e "insert into d0mstore.db_current_version(big_version,small_version) values('$i','$c');"
      mysql -u数据库用户 -p密码 -h ip -P 数据库端口 -e "insert into d0mstore.db_current_version_history(big_version,small_version) values('$i','$c');" &&  echo "scripts Success"
      else
        "scripts FALSE"
      fi
    done
      else
       echo "scripts FALSE"
     fi
    done
    

      

  • 相关阅读:
    Learning Intents behind Interactions with Knowledge Graph for Recommendation
    php_network_getaddresses: getaddrinfo failed: Name or service not known
    下载低版本Xcode方法
    世界奇妙周刊 第2期
    倒计时 | 7.24 阿里云 Serverless Developer Meetup 杭州站报名火热进行中!
    《网镜》001.生成word勘验报告
    java 常用集合使用方法
    Excel 常用操作
    《世界上最简单的会计书》
    mysql 通过坐标换算距离
  • 原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/10113811.html
Copyright © 2011-2022 走看看