技术
dos mysql
场景描述:
应用系统可以根据数据库配置参数,决定当前模式是正式环境还是测试环境;
因应用服务前台未提供配置功能,每次切换时,需要使用mysql工具连接数据库,然后修改数据库配置。
问题描述
由于需要频繁切换正式与测试环境,通过mysql工具修改数据库配置参数较为繁琐;
解决办法
本文讲解如何使用dos批处理命令,实现系统环境的切换。
操作步骤
1、相关文件
- 系统配置表.sql
/*
系统配置表
*/
create table sys_config(
cfg_id int, /*主键*/
cfg_name varchar(20), /*配置名称*/
cfg_notes varchar(50), /*配置描述信息*/
cfg_value varchar(20), /*配置值*/
constraint pk_sys_config primary key(cfg_id)
)
;
-- 写入数据
insert into sys_config(cfg_id, cfg_name, cfg_notes, cfg_value) values(1,'env_opt','系统环境(1:正式,2:测试)','1');
-- 查询数据
select * from sys_config;
- 正式环境.sql
-- 切换正式环境
update sys_config set cfg_value = '1' where cfg_id = 1;
- 测试环境.sql
-- 切换测试环境
update sys_config set cfg_value = '2' where cfg_id = 1;
- 环境切换.bat
@echo off
echo -------------------------------
echo 请选择需要切换的环境
echo [1]正式环境(默认)
echo [2]测试环境
echo -------------------------------
set /p env_opt=请输入[1]:
if "%env_opt%"=="1" goto opt1
if "%env_opt%"=="2" goto opt2
:opt1
echo 正在切换环境:正式
set cfg_value=正式环境.sql
goto :exec_cmd
:opt2
echo 正在切换环境:测试
set cfg_value=测试环境.sql
:exec_cmd
mysql -u root -p123456 -h 127.0.0.1 test <%cfg_value%
IF ERRORLEVEL 1 goto err_change
echo 切换成功!
pause
exit
:err_change
echo 切换失败!
pause