[发明专利]使用实体Nuget包实现多租户跨数据库类型按需自动初始化和升级的方法在审
申请号: | 202310240184.8 | 申请日: | 2023-03-13 |
公开(公告)号: | CN116360818A | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 孔钧;简刚;唐武斌 | 申请(专利权)人: | 宁波市科技园区明天医网科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71;G06F16/21;G06F16/2458;G06F16/25 |
代理公司: | 杭州斯可睿专利事务所有限公司 33241 | 代理人: | 周豪靖 |
地址: | 315040 浙江省宁*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 实体 nuget 实现 租户 数据库 类型 自动 初始化 升级 方法 | ||
本发明涉及一种使用实体Nuget包实现多租户跨数据库类型按需自动初始化和升级的方法,包括业务微服务模块、运营管理系统模块和租户数据库模块,包含用于数据库初始化和升级的微服务模块和共享实体Nuget包模块,将数据库实体程序集独立成Nuget包放入共享实体Nuget包模块中,数据库初始化和升级的微服务模块供运营管理系统模块调用,用于数据库初始化和升级微服务模块和业务微服务模块均引用共享实体Nuget包模块中相同版本的实体Nuget包,在实现一致性、可靠性和完备性的同时,使用最简化的接口提供给运营管理系统模块调用,满足多租户数据库模块初始化和升级的实际需求。
技术领域
本发明所涉及技术领域包括数据库、ORM(对象关系映射工具)、Nuget(.NET平台的包管理工具)、Entity Framework(.NET平台的ORM工具)、微服务等,具体是一种使用实体Nuget包实现多租户跨数据库类型按需自动初始化和升级的方法
背景技术
传统方案中,对于数据库初始化、升级以及多租户方案,常常需要编写大量的脚本来实现。如果管理工作较大,就需要使用脚本管理工具来进行管理,而多租户的数据库初始化和升级,则需要通过配置文件来进行脚本映射管理。然而,这种方案存在以下几个主要缺点:
1.编写数据库初始化和升级脚本的工作量巨大。特别是需要适应任意类型的数据库时,需要编写不同类型的数据库脚本。此外,为了保证幂等性,需要编写的脚本数量更加巨大,从而增加了编写脚本的工作量。
2.很难保证脚本与实际程序版本的一致性。即使引入了脚本管理工具,多租户采用配置文件进行脚本映射管理,也很难保证人工上不会出问题。
3.使用脚本管理工具和配置文件进行脚本映射管理,无法满足多租户的数据库初始化和升级需求。无法在需求、设计和用户体验上做到完全可定制化。
4.使用脚本管理工具和配置文件进行脚本映射管理,很难做到与业务紧密结合。比如,在人员和权限的管理上,无法做到统一;记录的日志内容也无法与业务系统一样全面,管理上太过于技术化。
因此,需要更加有效和可定制的方式来实现数据库初始化、升级以及多租户方案,以满足不断变化的需求和提高业务系统的可用性和可维护性。
发明内容
为了解决上述问题,本发明提供了一种通过将数据库实体程序集独立成Nuget包进行管理,并使用实体Nuget包实现多租户跨数据库类型按需自动初始化和升级的方法。
为了达到上述目的,本发明设计的一种使用实体Nuget包实现多租户跨数据库类型按需自动初始化和升级的方法,包括业务微服务模块、运营管理系统模块和租户数据库模块,包含用于数据库初始化和升级的微服务模块和共享实体Nuget包模块,将数据库实体程序集独立成Nuget包放入共享实体Nuget包模块中,数据库初始化和升级的微服务模块供运营管理系统模块调用,用于数据库初始化和升级微服务模块和业务微服务模块均引用共享实体Nuget包模块中相同版本的实体Nuget包。
其中所述的用于数据库初始化和升级的微服务模块包括实体Nuget包版本号查询接口、初始化和升级预览接口以及初始化和升级执行接口。
当需要实现初始化或升级预览功能时,运营管理系统模块传入每个租户的实际参数,初始化和升级预览接口按照以下步骤完成要实现的功能:
S11)按接口指定的多个Nuget包名称组合实体Nuget包生成实体模型;
S12)和历史记录表中的最新实体模型比较不同生成差异操作内容;
S13)根据差异操作内容通过ORM(对象关系映射工具)生成对应数据库类型的升级脚本;
S14)返回差异操作内容的SQL只读升级脚本,供运营管理系统模块预览。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宁波市科技园区明天医网科技有限公司,未经宁波市科技园区明天医网科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310240184.8/2.html,转载请声明来源钻瓜专利网。