快使用flyway管理sql脚本吧~

  这两个月开发了个很有意思的项目,记录一下有趣的过程。

  用的是jdk1.8,flyway7.15。

  项目是在开源的flyway项目基础上二次开发,像git管理代码一样,管理起项目的sql脚本文件。

  免费版的没提供undo功能,有大牛建了同名的包,就重写了框架部分类= =第一次看到有人重写框架,新公司真的技术上没的说(比起电网)。

  框架没考虑集群与类似saas项目的脚本怎么执行,我们就手动增加了一些功能。但基本的功能也有用上,我运用了一切皆文件的思想,每个文件夹对应一个数据源,只需要用不同的配置文件就好。

  这样就不用建很多个代码仓库了,但我万万没想到,运维不理解这一点,他们扯起了什么,代码仓库一样,真执行的时候不好执行……我真是无语啦。最后没办法,建了2个代码仓库。

  项目真的是这样,一开始什么都想的很好,但是有各种各样很急的需求,然后人们总要为了这些很急的需求去修改代码……代码写的不好看也没什么办法。事后再改更是不存在的事情。

  然后是flyway的一些坑,直接搜flyway 踩坑吧,有几个不设置就有坑的属性,比如clean?会清楚所有表空间信息。

  框架本身也有点问题,会有相应的历史表,必须建在一个新的表空间里,如果指定了老的表空间,它会扫描该表空间下的所有表,但没看出来有什么用……效果就是每个命令都会很慢。我在想这个是不是可以给框架提个issue哈哈。

  可以指定某个版本之后执行,baseline属性来指定。

  但现在也感觉到一个问题,后续如果执行的多了,每次版本升级时历史表打印会出来很多数据,有些麻烦,等解决了我再发出来吧~

  最近入手了 on java8 的2本书,趁着5折入的。没想到啊,现在买书就像女生买口红一样了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章