首页 / 知识
关于Java:如何升级使用ORM工具构建的数据库架构?
2023-04-15 10:28:00

How to upgrade database schema built with an ORM tool?我正在寻找使用ORM工具(例如JPOX或Hibernate)升级数据库架构的通用解决方案。 在项目中如何做? 我想到的第一个解决方案是创建自己的数据库升级机制,并由SQL脚本完成所有工作。 但是在这种情况下,我将不得不记住每次更新对象映射时都要创建新的脚本。 而且,我仍然必须处理低级的SQL查询,而不仅仅是定义映射并允许ORM工具完成所有工作…… 所以问题是如何正确执行。 也许某些工具可以简化此任务(例如,我听说Rails内置了这种机制),如果可以,请帮助我确定为我的下一个Java项目选择哪种ORM工具。 LiquiBase是一个有趣的开源库,用于处理数据库重构(升级)。我没有使用过它,但是一定会在需要升级数据库模式的下一个项目中尝试一下。 您可以检查某些数据库模式升级工具的功能比较。 比较一些工具在SOW中的问题数量:
我们编写代码SQL更新脚本,然后拆解该架构并应用更新脚本对其进行重建,这是我们持续构建过程的一部分。如果任何休眠映射与架构都不匹配,则构建将失败。 我不明白为什么ORM生成的架构与其他DB架构有什么不同-问题是相同的。假设您的ORM会吐出一个生成脚本,则可以使用外部工具进行比较 我还没有尝试过,但是google将SQLCompare作为一种选择回来了-我敢肯定还有其他选择。 DbMaintain也可以在这里提供帮助。 在使用Hibernate时,我使用一个安装程序类,该类从命令行运行,并且具有用于创建数据库架构,插入基础数据以及使用SchemaUpdate动态更新数据库架构的选项。我发现它非常有用。它还为我提供了放置一次性脚本的位置,这些脚本将在启动新版本时运行,例如,在现有数据库表中填充新字段。 每次更改数据库时,我们都会制作更新脚本。所以有一个脚本,版本从10到11,从11到12,等等。然后我们可以运行任何连续的脚本集,以从现有版本跳到新版本。我们将现有版本存储在数据库中,因此可以在启动时检测到它。 是的,这涉及特定于数据库的代码! Hibernate的主要问题之一! 我认为您最好的选择是使用包含SubSonic这样的数据库迁移的ORM工具: http://subsonicproject.com/2-1-pakala/subsonic-using-migrations/ |
最新内容
相关内容
linux命令行执行工具?
linux命令行执行工具?,工具,系统,网络,分析,工作,服务,状态,信息,电脑,发行,shell编程(掌握Linux命令行工具)1、在开始Shell编程之前,我们需要linux命令大全数据库?
linux命令大全数据库?,服务,系统,平台,状态,软件,通用,环境,数据,神州,地址,在Linux上用命令怎么连接数据库(linux连接oracle数据库命令)登录linux上数据库的命令?
linux上数据库的命令?,服务,系统,信息,地址,命令,密码,工具,管理,数据,单位,在Linux上用命令怎么连接数据库(linux连接oracle数据库命令)1、登linux命令dm数据库?
linux命令dm数据库?,地址,软件,时间,设备,名字,服务,位置,名称,公司,命令,linux创建dm数据库超时linux/sys下无法新建 方法如下打开c盘,在用户linux升级pip命令?
linux升级pip命令?,官网,数据,项目,电脑,检测,管理,信息,系统,网址,百度,python2.7升级至python3.61、最后执行 sudo apt-get update 更新下软开发linux命令工具?
开发linux命令工具?,系统,工具,环境,状态,平台,设计,数据,电脑,中小企业,标准,Linux界面开发工具有哪些?1、大多数Linux发放版本,自身捆绑了诸linux命令行工具大全?
linux命令行工具大全?,工作,系统,工具,地址,信息,命令,目录,基础,管理,文件,linux常用的命令有哪些linux系统常用操作命令如下:ls:全拼list,功能linux数据库查找命令?
linux数据库查找命令?,位置,名称,状态,服务,软件,信息,系统,命令,名字,密码,在linux中如何用命令查找文件在哪使用查找命令 “find”命令允许linux数据库同步命令?
linux数据库同步命令?,信息,系统,汽车,车辆,服务,工作,通信,一致,分析,数据,DB2数据库在linux操作系统的指令有哪些?1、linux系统常用操作命令linux命令联想工具?
linux命令联想工具?,地址,工作,系统,工具,状态,标准,信息,命令,目录,左下角,Linux:Python编写Linux自定义命令工具首先我们先认识一下cat指令linux建立数据库命令?
linux建立数据库命令?,软件,系统,工作,数据,密码,工具,数据库,一致,网络,服务,linux中在shell中怎么创建一个数据库1、以下的文章主要讲述的是linux命令进数据库?
linux命令进数据库?,地址,系统,名字,服务,密码,命令,读法,数据库,操作系统,主机,linux系统mysql数据库怎么进入数据库首先确保linux下mysql安