1. 系统升级
1.1. 1.手工升级
use master
go
--0.还原一个最新数据的备份到数据库
declare @ebs_kernelpath varchar(500) ='D:\toupgrade\db\ebs_kernel_autentic.bak'
declare @ebs2javapath varchar(500)='D:\toupgrade\db\ebs2java_authentic.bak'
--无库还原,用于更新,注意路径
restore database ebs2java_upgrad from disk = @ebs2javapath with
move 'ebs2java' to 'D:\toupgrade\db\ebs2java.mdf',
move 'ebs2java_log' to 'D:\toupgrade\db\ebs2java_log.ldf' ;
restore database ebs_kernel_upgrad from disk = @ebs_kernelpath with
move 'ebs_kernel' to 'D:\toupgrade\db\ebs_kernel.mdf',
move 'ebs_kernel_log' to 'D:\toupgrade\db\ebs_kernel_log.ldf' ;
--1.对比库,并更新
USE [ebs2java]
GO
DECLARE @return_value int
EXEC @return_value = [dbo].[comp_database]
@old = N'ebs2java',
@new = N'ebs2java_upgrad'
SELECT 'Return Value' = @return_value
GO
USE [ebs2java]
GO
DECLARE @return_value int
EXEC @return_value = [dbo].[comp_database]
@old = N'ebs_kernel',
@new = N'ebs_kernel_upgrad'
SELECT 'Return Value' = @return_value
GO
--2.生成更新脚本,并执行
USE [ebs_kernel_upgrad]
GO
DECLARE @return_value int
EXEC @return_value = [dbo].[getpubsql]
SELECT 'Return Value' = @return_value
GO
--3.导出最新的存储过程,执行存储过程完成更新
1.2. 数据库表更新
- 1.根据标准表字段 修复 表结构 :mps_fixed_table_info 1
- 2.执行 http://url/api/updatedatabase执行改表操作
1.3. 2.自动更新
指对现有系统进行更新升级
1.3.1. API更新
请求url/api/upgrade ,该请求会向中心服务器获取大于等于当前版本的SQL并更新,此外,会在其上面执行C:/gitupgrade.bat这个批处理,进行git pull的操作(只支持windows)。此操作前提是需要严格要求中心服务器的SQL补丁更新是通过更新中心服务器提供的API方式进行的。