在 Heroku 上为 Java 应用程序运行数据库迁移的推荐方法是什么?有什么最佳实践吗?比如工具等。
问问题
543 次
1 回答
3
一个迟到的答案,但如果你没有使用 Play!(它有一个名为“Evolutions”的内置解决方案),我建议查看 liquibase(http://www.liquibase.org/)。从概念上讲,它的工作原理类似于 Play!进化或 Rails 迁移 - 模块化 DDL/DML 步骤,按顺序执行并随时间跟踪,以便维护数据库的活动历史记录。模式定义是通过一种非常简单的 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>
于 2013-02-02T16:15:57.293 回答