【问题标题】:Running DB migration for a Java app为 Java 应用程序运行数据库迁移
【发布时间】:2012-08-16 20:58:37
【问题描述】:

在 Heroku 上为 Java 应用程序运行数据库迁移的推荐方法是什么?有什么最佳实践吗?比如工具等。

【问题讨论】:

  • 你用的是什么持久化框架?

标签: java heroku database-migration


【解决方案1】:

一个迟到的答案,但如果你没有使用 Play! (它有一个名为“Evolutions”的内置解决方案),我建议查看 liquibase (http://www.liquibase.org/)。从概念上讲,它的工作原理类似于 Play!进化或 Rails 迁移 - 模块化 DDL/DML 步骤,按顺序执行并随时间跟踪,以便维护数据库的活动历史记录。架构定义通过非常简单的 XML 格式定义,能够定义 SQL 语句、回滚步骤等。

它也可以连接到 Spring 应用程序上下文以在服务器启动时执行,这使其非常适合 Heroku。比如context.xml中的sn -p会在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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 2012-04-27
    相关资源
    最近更新 更多