【发布时间】:2013-08-08 19:21:53
【问题描述】:
在为企业应用程序开发模块化系统架构时,我遇到了一些数据库初始化问题。我们有一个提供基本实体和基本配置的核心库。在这个核心之上构建了几个模块。它们是可插拔的,可以有自己的实体和配置。一些特点:
- 配置,如系统属性、资源包等,都存储在数据库中。
- JPA 用于使系统数据库独立。
- 系统在 Java SE 上运行
每个模块都可以自带表,但它们也可以要求填充核心属性表或核心资源包表。所以不知何故,我们需要一些机制来为数据库运行 DDL 和 DML 初始化。一些选项:
- 创建简单的 sql 脚本。缺点是它们必须独立于数据库,也许这对开发人员来说不是最友好的。除非我们可以使用一些 DB diff 工具生成它们?
- 使用 Java 类通过 JPQL 进行初始化?
- 将配置存储在文件中?这避免了很多(但不是全部)配置 DML。
- 使用像 liquibase 这样的工具?
解决这个(或类似的)问题的最佳做法是什么?
【问题讨论】:
-
你已经用 liquibase 标记了这篇文章...这个工具对你没有帮助吗?
-
@MarkO'Connor 这可能是一个选择。但我正在研究一种最佳实践方法。因此,如果还有其他/更好的方法,那么我很乐意了解它们。
标签: java database jpa liquibase