之前两篇介绍了使用Hibernate生成SQL全量脚本文件的方式,若需要生成增量脚本进行版本维护呢?想到的对于生成增量脚本的方案可归为:
全量脚本文件与全量脚本文件对比生成
全量脚本文件与数据库对比生成
数据库与数据库对比生成
经过实际查询,第一种方案实现基本为零,暂未找到相关实现;第二种方案可以通过Hibernate的SchemaUpdate实现,也可以通过Liquibase实现;第三种方案可以通过Liquibase实现。
本次介绍通过Hibernate的SchemaUpdate生成SQL增脚本文件的方式,与SchemaExport生成全量脚本一样也可以通过两种方式生成。不同之处在于生成全量脚本时可以不配置数据库连接信息,,但生成增量脚本时必须配置数据库连接信息,从而连接数据库,不然只有程序中的注解,缺少参照的从而无法生成增量。
目录
单独main函数生成
这个和之前的SchemaExport一样,只是createData方法换成了updatData方法。之前说可能会产生报错提示的情况,当精确到类似路径时 (即所有含注解的class均在entity包中)即可避免。这里不再细谈,具体的注释可见之前的文章。
构建项目期间生成
这个和之前创建全量脚本的类似,区别之处是全量脚本的StandardServiceRegistry是通过StandardServiceRegistryBuilder直接创建的,增量的是通过
完整文件如下:
领取专属 10元无门槛券
私享最新 技术干货