java - 为 Java 应用程序运行数据库迁移

标签 java heroku database-migration

在 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/

相关文章:

java - 测试驱动开发不适合我的类(class)

java - 多个 Canvas 彼此相邻

java - Websphere 消息队列多线程

php - Laravel - SQLSTATE [42S22] : Column not found: 1054 Unknown column

java - 根据动态货币值动态更改区域设置

git - 无法推送到 Heroku,因为 key 指纹

ruby-on-rails - Heroku 上的 Delayed_Job 显示 "Forbidden"错误

security - Heroku 和 ip 掩码

mysql - 我应该如何处理 clojure 项目的 sql 模式管理?

python - python 中名为 psycopg2 的游标的性能问题