我使用Hibernate的SchemaUpdate来执行与迁移相同的function。 这实际上比迁移更容易,因为每次启动应用程序时,都会检查数据库结构并将其与映射进行同步,因此不需要额外的耙:db:migrate步骤,并且您的应用程序永远不会与正在运行的数据库不同步反对。 Hibernate映射文件不比Rails迁移复杂,所以即使你没有在应用中使用Hibernate,你也可以利用它。 不足之处在于它不如回滚,迁移,运行DML语句那样灵活。 正如在评论中指出的,它也不会删除表或列。 我运行一个单独的方法来手动执行这些操作,作为Hibernate初始化过程的一部分。

我不明白为什么你不能使用Rails迁移 – 只要你不介意安装栈(Ruby,Rake,Rails),你就不必触摸你的应用程序。

对于一个function之间的比较

迁飞

Liquibase

C5-DB-迁移

dbdeploy

MyBatis的

MIGRATEdb

migrate4j

dbmaintain

AutoPatch

这对于您和其他人来说是一个好的开始,可以为工作select正确的工具

Liquibase是这个领域的另一个值得检查的项目。

Grails有一个dbmigrate实用程序,它是Rails中的一个。 由于它是在Groovy中实现的,所以您应该可以从任何Java项目中使用它。

Java还有两个独立的rails类迁移实现:

1)基于Maven的Carbon Five迁移

2) Hashrocket基于Ant的任务(我个人最喜欢的)

虽然这些包是专门为Maven和Ant编写的,但有些工作可以使它们适应任何东西。

在研究同一个问题的时候,我跑过这个post。 我还没有得出任何关于最佳工具或方法的结论,但是到目前为止还没有被其他答案提及的一个工具是dbdeploy 。 我有兴趣阅读这些工具的任何比较。

其他一些相关资源:Martin Fowler和Pramod Sadalage在进化数据库devise方面有些过时了,还有Sadalage和Scot Ambler的“ 重构数据库:进化数据库devise ”一书。

Migrate4j似乎是一个候选人,但是这个项目对于生产使用来说看起来还不够成熟。

也有最初在Unitils内部开发的DbMaintain,但现在是一个专门的项目。 我们正在使用它,并且非常满意(这并不意味着没有任何好的select)。 我在我的数据库+迁移书签中列出了更多的内容(着重于支持Maven的工具)。

java文件迁移工具,Java的迁移相关推荐

  1. Java文件类– java.io.File

    Java File class is at the center of Java IO operations. Java File类是Java IO操作的中心. Java文件类 (Java File ...

  2. javac编译java文件之后 java运行找不到类的处理

    javac编译java文件之后,即使在同一个文件夹里面编译出了class文件java运行的时候也找不到运行的类,原因是已设置的classpath环境变量和class文件不在同一目录,java运行之前先 ...

  3. 电脑创建java文件_HelloWorld.java文件如何创建?

    相信各位刚接触JAVA的新人都希望尽快编写出自己的第一个程序,今天PC下载网小编和你一起学习HelloWorld程序 1.首先我们先点击"开始"-然后是"所有程序&quo ...

  4. java文件传输(JAVA文件传输的好处)

    JAVA 传输文件 //以前写的一个文件传输的小程序,有客户端和服务器端两部分,服务器可//以一直运行,客户端传输完一个后退出,当然你也可以根据你的需要改. //服务器端可以支持多个客户端同时上传,用 ...

  5. 添加java文件,添加 java 文件

    在项目 src 目录下创建 demo 包,并在 demo 包下创建 DemoConfig 文件, 内容如下: package demo; import com.jfinal.config.*; pub ...

  6. 没有类的java文件_没有公共类的.java文件的Java编译

    好的,所以java源文件必须至少有一个公共类,该文件应该被称为"class-name.java". 很公平. 因此,如果我有一个类,那么以下将编译: public class He ...

  7. java文件指针,Java 测试文件指针,java测试指针,两种方法打开文件并进行内

    Java 测试文件指针,java测试指针,两种方法打开文件并进行内 两种方法打开文件并进行内容定位package com.ronsoft.books.nio.channels;import java. ...

  8. aide怎么导入一些java文件_aide java项目导入jar

    aide java项目导入jar [2021-02-01 08:45:48]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&quo ...

  9. minecraft java文件_Minecraft Java 数据包教程(一)

    数据包简介 数据包是一个可以让我们自定义Minecraft部分玩法的东西,具体包括以下内容:配方 函数 进度 战利品表 谓词(战利品表条件) 维度 结构 标签 在这个教程里面,我将重点关注配方.函数与 ...

最新文章

  1. SAP LSMW 导入Open PO时价格不对问题之对策
  2. UITableViewCell有关处理touch事件的问题
  3. Log4J入门教程(二) 参数讲解
  4. linux下cpu opencl加速,GPU挑战CPU!详解CUDA+OpenCL威力
  5. oracle instant client配置(MAC OS)
  6. 数据结构与算法--求1~n能组成的所有二叉搜索树的排列
  7. 小程序类似抖音视频整屏切换
  8. Eclipse的Spring库导入
  9. 【学术分享】写论文必须养成的十大良好写作习惯
  10. 375. 猜数字大小 II leetcode java
  11. matlab从入门到放弃~
  12. 传智播客数据绑定和数据库开发基础(第四季)-杨中科
  13. 会员卡管理系统从哪些方面解决门店会员营销困扰?
  14. 微信小程序 input 动态修改对象数组中某一值
  15. AutoCAD2014的安装
  16. MATLAB如何打开chm文件
  17. 计算机桌面锁屏壁纸怎么换,电脑怎么换锁屏壁纸
  18. Spring AOP配置 之 @Aspect
  19. offer来了java面试百度云版,精心整理
  20. 2021-2027中国服务器机箱市场现状研究分析与发展前景预测报告

热门文章

  1. 使用 Docker 打造超溜的前端环境
  2. 用VBA统计涂色单元格的信息
  3. Python入门你要懂哪些?这篇文章总算讲清楚了
  4. 有安全研究者混入了 PHP 8.0 开发组!
  5. 建设可信赖、公平开放的HMS生态,华为与全球伙伴合作共赢
  6. 超干货!为了让你彻底弄懂 MySQL 事务日志,我通宵搞出了这份图解!
  7. 以正确的方式招募数据科学家!
  8. 完了!Python开挂! 90%的程序员:痛快!你怎么看? ​
  9. 360 回应安全云盘出现交易异常;苹果官网陆续限购 iPhone;GitHub 屏蔽微软工程师的开源项目 | 极客头条...
  10. 疫情期间天天对你“开枪”的额温枪,你知道它的工作原理吗?| 原力计划