本节将介绍怎样利用批处理脚本去调用 mysql 执行 sql 脚本。
背景
假如你现在正在开发一个系统,而系统版本迭代很快。每个版本都有对应的数据库SQL脚本,而我们将每个版本的数据库脚本使用名为“版本-日期.sql”的文件进行保存。当我们版本变多时,sql文件也就将变多。如下图:
上图中,1.0.0-*.sql ~ 1.2.0-*.sql 为每个版本的数据库 SQL 脚本。version.txt 文件中保存当前软件数据库版本;run.bat 保存批处理脚本;
需求
每次初始化/更新数据库时我们只需要执行 run.bat 脚本,然后根据 version.txt 中保存的当前软件版本信息,动态选择需要执行那些 sql。例如:当前版本为 1.1.2,当我们执行 run.bat 时,将数据库从 1.1.2 版本升级到最新版本(即 1.2.0);
实现
run.bat 脚本内容如下:@echo off
if "%OS%" == "Windows_NT" setlocal enabledelayedexpansion
set "CURRENT_DIR=%cd%"
rem 数据库名称
set dbName=test
rem 数据库用户名
set dbUsername=root