Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2020fengziyang
soar
提交
fab04633
S
soar
项目概览
2020fengziyang
/
soar
与 Fork 源项目一致
Fork自
Xiaomi / soar
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
soar
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fab04633
编写于
1月 21, 2023
作者:
martianzhang
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev' of github.com:XiaoMi/soar into dev
上级
edac95c8
15f9e342
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
25 addition
and
20 deletion
+25
-20
advisor/rules.go
advisor/rules.go
+2
-2
env/env.go
env/env.go
+23
-18
未找到文件。
advisor/rules.go
浏览文件 @
fab04633
env/env.go
浏览文件 @
fab04633
...
...
@@ -423,21 +423,26 @@ func (vEnv *VirtualEnv) createDatabase(rEnv *database.Connector) error {
}
/*
@input:
@input:
database.Connector 为一个线上环境数据库连接句柄的复制,因为在处理SQL时需要对上下文进行关联处理,
所以存在修改DB连接参数(主要是数据库名称变更)的可能性,为了不影响整体上下文的环境,所以需要一个镜像句柄来做当前环境的操作。
dbName, tbName: 需要在环境中操作的库表名称,
@output:
@output:
return 执行过程中的错误
NOTE:
NOTE:
该函数会将线上环境中使用到的库表结构复制到测试环境中,为后续操作提供基础环境。
传入的库表名称均来自于对AST的解析,库表名称的获取遵循以下原则:
如果未在SQL中指定数据库名称,则数据库一定是配置文件(或命令行参数传入DSN)中指定的数据库
如果一个SQL中存在多个数据库,则只能有一个数据库是没有在SQL中被显示指定的(即DSN中指定的数据库)
TODO:
TODO:
在一些可能的情况下,由于数据库配置的不一致(如SQL_MODE不同)导致remote环境的库表无法正确的在测试环境进行同步,
soar 能够做出判断并进行 session 级别的修改,但是这一阶段可用性保证应该是由用户提供两个完全相同(或测试环境兼容线上环境)
的数据库环境来实现的。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录