有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

RubyonRails的Java迁移

我使用ruby on rails和Java。我真的很喜欢在rails项目中使用迁移。所以我想知道有没有像Java这样的迁移工具?如果没有这样的工具,那么使用迁移作为工具来控制Java项目使用的数据库是否是一个好主意


共 (6) 个答案

  1. # 1 楼答案

    Grails有一个dbmigrate实用程序,该实用程序是仿照Rails中的实用程序设计的。因为它是在Groovy中实现的,所以您应该能够从任何Java项目中使用它

  2. # 2 楼答案

    我在研究同一个问题时偶然发现了这篇帖子。我还没有得出关于最佳工具或方法的任何结论,但我遇到的一个工具是dbdeploy,到目前为止,在其他答案中还没有提到。我有兴趣阅读这些工具的任何比较

    其他一些相关资源:Martin Fowler和Pramod Sadalage在Evolutionary Database Design上发表的有点过时的帖子,以及Sadalage和Scot Ambler的书Refactoring Databases: Evolutionary Database Design

  3. # 3 楼答案

    Liquibase是这个领域值得一看的另一个项目

  4. # 4 楼答案

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

    1)从Carbon Five进行基于Maven的迁移

    2)来自Hashrocket的基于蚂蚁的任务(我个人最喜欢的)

    尽管这些软件包是专门为Maven和Ant编写的,但通过一些工作,您可以使它们适应任何情况

  5. # 5 楼答案

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

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

  6. # 6 楼答案

    对于功能比较

    • 飞行路线
    • 液化
    • c5 db迁移
    • 数据库部署
    • 迈巴蒂斯
    • 迁移的
    • 迁移4j
    • 维护
    • 自动追踪

    看看http://flywaydb.org

    这应该是你和其他人为工作选择正确工具的一个良好开端