在 Heroku 上为 Java 应用程序运行数据库迁移的推荐方法是什么?有什么最佳实践吗?如工具等。
最佳答案
答案迟到了,但如果您不使用 Play! (它有一个名为“Evolutions”的内置解决方案),我建议查看 liquibase ( http://www.liquibase.org/ )。从概念上讲,它的工作方式类似于 Play!演变或 Rails 迁移 - 模块化的 DDL/DML 步骤按顺序执行并随着时间的推移进行跟踪,以便维护数据库的 Activity 历史记录。模式定义是通过非常简单的 XML 格式定义的,能够定义 SQL 语句、回滚步骤等。
它也可以连接到 Spring 应用程序上下文中以在服务器启动时执行,这使得它非常适合 Heroku。例如,context.xml中的代码片段将在Spring启动时触发数据库升级分析:
<bean class="liquibase.integration.spring.SpringLiquibase" id="liquibase" lazy-init="false">
<property name="dataSource" ref="dataSource"/>
<property name="changeLog" value="classpath:META-INF/schema/db-changelog-master.xml"/>
</bean>
关于java - 为 Java 应用程序运行数据库迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12056139/