本篇内容介绍了“迁移到MySQL的语法转换工具初步设计是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
模式1:指定数据库表
其中数据库的库,表,字段等元数据信息存储在运维系统元数据中,需要周期性和线上环境做字典信息同步,在接受到前端请求之后,提供一键转换接口,在这个处理过程中实现如下两个步骤:
1)构建出SQL Server侧的建表语句,该建表语句可以供前端显示和转换为MySQL语法作为参考。
2)将语句转换为符合MySQL基本规范的SQL语句,主要涉及数据类型,默认值,存储引擎,自增列值,字符集等。
在语法转换完成后,可以使用已有的SQL审核服务进一步审核修正,直至满足自动化上线的标(比如SQL打分为80分以上即可实现自动化上线)
模式2:输入SQL文本
输入SQL文本目前存在两类通用问题:
1)目前业务方使用的客户端工具存在差异,create table语句转换会生成两种风格的建表语句,第一类是create table xxxx,只有一条语句,第二类是:create table xxxxx,alter table xxxx add xxx;会有多条SQL语句
2)输入文本转换为MySQL文本的过程中,因为前端输入信息的差异在解析实现中复杂度较高。
在执行SQL文本时,会将SQL执行在虚拟数据库上面,执行完成后会同步推送SQL Servre侧的字典数据到运维系统的临时元数据存储中,然后在这个基础上,提供一键转换接口,在这个处理过程中实现如下两个步骤:
3)构建出SQL Server侧的建表语句,该建表语句可以供前端显示和转换为MySQL语法作为参考,此时建表语句会整合为独立的1条SQL.
4)将语句转换为符合MySQL基本规范的SQL语句,主要涉及数据类型,默认值,存储引擎,自增列值,字符集等。
在语法转换完成后,可以使用已有的SQL审核服务进一步审核修正,但是没有对接SQL自动化上线流程。
整个一套体系下来,需要设计哪几个接口,哪些是对内对外的服务就一目了然了。
“迁移到MySQL的语法转换工具初步设计是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!