Uninote
Uninote
用户根目录
每日点滴
 db differ
db differ
代码仓库:git@47.97.186.229:cyb/misc.git
E:\projects\misc\dbdiffer
http://a.misc.my/dbdiffer/index.php
mergely -- diff files online 
- 生成当前dump:
mysqldump --skip-extended-insert --skip-dump-date -uroot -proot -P3333 p2p21_piaojuke_czbank > tmp1.sql
- 执行某些操作之后再dump:
mysqldump --skip-extended-insert --skip-dump-date -uroot -proot -P3333 p2p21_piaojuke_czbank > tmp2.sql
- 进入differ界面,列出所有dump目录下的文件
- 选择两个文件a、b,通过diff(git自带的工具)命令生成diff文件:
- 分析diff文件a、b,生成两个待比较的文件,
 * 分析出表名name,再调用desc name 得到表头字段。
 * 综合表头&数据,并转置
 * 文件名规则:a-b-a,a-b-b,存入out目录。如果文件已经存在,则询问是否覆盖。
比如,比较03,04,最终生成的文件比较结果:

note

需要eval,不能简单批分:
'4028218166dcfcf40166de4b283f000e','支付成功','【票据客】尊敬的15310405001:您投资的银票宝2375期,金额3000元,订单已支付成功。','2018-11-04 18:35:59','15310405001','-1100|服务器端序列号错误,序列号不存在内存中,或尝试攻击的用户','2018-11-04 18:36:00',2,'{\"orderAmount\":\"3000\",\"payAmount\":\"3000.00\",\"phone\":\"15310405001\",\"realNm\":\"秦尉寒\",\"realCd\":\"ogjHRqk5\",\"triggerNode\":\"order.pay.success\",\"productName\":\"银票宝2375期\"}','order.pay.success','21','system','2018-11-04 18:35:59',1,0,'system','2018-11-04 18:35:59'
-- 使用eval进行处理最简单,不用语法分析。
web diff插件
diff命令需要在path中。
local_web.php进行配置
lv1= lv2= type=todo

db differ todo

1 做成service,上传两个dump文件,再上传数据库schema或者链接配置,就能显示差异。
2 如果上传了mysql链接配置,其实可以用户手动dump的,这样不用上传dump文件了。
3 上传字段注释文件,作为字段的解释?
SELECT  table_name, COLUMN_NAME, COLUMN_COMMENT FROM INFORMATION_SCHEMA.Columns WHERE 
table_schema='p2p21_piaojuke_czbank' 
mysql_cache.txt
如果没有缓存文件,仍旧链接数据库获取;
支持上传dump、cache文件
支持 输入记录
lv1= lv2= type=todo

直接数据转换

用于直接查看insert的插入数据详情,在主页面上加此功能:
INSERT INTO `product_order` VALUES ('4028218166dcfcf40166de4b27eb000c','system','2018-11-04 18:35:59',0,3000.00,14.50,NULL,14.50,NULL,'PP1810121746916',0,'J181104183559334817','20181104','J181104183559334817','PJK2018110418355900011','PP1810121746916','2018-11-04 18:35:59',1,NULL,'4028218166da2a890166da2b6b9500a4',3000,1,'PP1810121746916',1.00000000,1,'ff80808162272ed1016227340b250002',0,'system','2018-11-04 18:35:59',0,'支付成功',1,'6210193310200514239','秦尉寒',NULL,0.0600,NULL);
每一条insert语句,直接做如下转换:
--- table product_order----
orderId  : '4028218166dcfcf40166de4b27eb000c'
createBy  : 'system'
createTime  : '2018-11-04 18:35:59'
version  : 0
amount  : 3000.00
anticipatedIncome  : 14.50
createDate  : NULL
expectedIncome  : 14.50
freezeStatus  : NULL
freezeTrxId  : 'PP1810121746916'
investWay  : 0
orderCd  : 'J181104183559334817'
orderDate  : '20181104'
orderNo  : 'J181104183559334817'
outsideOrderNo  : 'PJK2018110418355900011'
outsideSerialNo  : 'PP1810121746916'
payEndDate  : '2018-11-04 18:35:59'
payStatus  : 1
payUrl  : NULL
productId  : '4028218166da2a890166da2b6b9500a4'
quantity  : 3000
status  : 1
trxId  : 'PP1810121746916'
unitprice  : 1.00000000
verifyStatus  : 1
memberId  : 'ff80808162272ed1016227340b250002'
deleted  : 0
updateBy  : 'system'
updateTime  : '2018-11-04 18:35:59'
operationSrc  : 0
resultStr  : '支付成功'
stageFlag  : 1
tradeBankCard  : '6210193310200514239'
tradeRealNm  : '秦尉寒'
couponAmount  : NULL
rate  : 0.0600
couponOutsideOrderNo  : NULL
lv1= lv2= type=todo

直接比较记录

直接数据转换 的基础上,选择比较,如果有两条以上的记录,则直接展开、比较(在比较页面)前两条记录。

config_my

fiddler

点赞(0) 阅读(18) 举报
目录
标题