RubyonRails的Java迁移
我使用ruby on rails和Java。我真的很喜欢在rails项目中使用迁移。所以我想知道有没有像Java这样的迁移工具?如果没有这样的工具,那么使用迁移作为工具来控制Java项目使用的数据库是否是一个好主意
你可以在下面搜索框中键入要查询的问题!
我使用ruby on rails和Java。我真的很喜欢在rails项目中使用迁移。所以我想知道有没有像Java这样的迁移工具?如果没有这样的工具,那么使用迁移作为工具来控制Java项目使用的数据库是否是一个好主意
# 1 楼答案
Grails有一个dbmigrate实用程序,该实用程序是仿照Rails中的实用程序设计的。因为它是在Groovy中实现的,所以您应该能够从任何Java项目中使用它
# 2 楼答案
我在研究同一个问题时偶然发现了这篇帖子。我还没有得出关于最佳工具或方法的任何结论,但我遇到的一个工具是dbdeploy,到目前为止,在其他答案中还没有提到。我有兴趣阅读这些工具的任何比较
其他一些相关资源:Martin Fowler和Pramod Sadalage在Evolutionary Database Design上发表的有点过时的帖子,以及Sadalage和Scot Ambler的书Refactoring Databases: Evolutionary Database Design
# 3 楼答案
Liquibase是这个领域值得一看的另一个项目
# 4 楼答案
还有两种类似rails的Java迁移的独立实现:
1)从Carbon Five进行基于Maven的迁移
2)来自Hashrocket的基于蚂蚁的任务(我个人最喜欢的)
尽管这些软件包是专门为Maven和Ant编写的,但通过一些工作,您可以使它们适应任何情况
# 5 楼答案
我使用了Hibernate的SchemaUpdate来执行与迁移相同的功能。它实际上比迁移更容易,因为每次启动应用程序时,它都会检查数据库结构,并将其与映射同步,因此没有额外的rake:db:migrate步骤,而且应用程序永远不会与它运行的数据库不同步。Hibernate映射文件并不比Rails迁移更复杂,所以即使你没有在应用程序中使用Hibernate,你也可以利用它。缺点是它没有回滚、向下迁移和运行DML语句那么灵活。正如评论中指出的,它也不会删除表或列。作为Hibernate初始化过程的一部分,我运行了一个单独的方法来手动执行这些操作
但我不明白为什么你不能使用Rails迁移——只要你不介意安装堆栈(Ruby、Rake、Rails),你就不必触摸你的应用程序
# 6 楼答案
对于功能比较
看看http://flywaydb.org
这应该是你和其他人为工作选择正确工具的一个良好开端