java - 在 Subversion 项目结构中寻找配置和数据库模式文件的正确处理

标签 java database svn maven database-migration

在 SVN 中,我们有一个项目,它具有使用 hibernate 等的所有数据库逻辑。但是,该项目依赖于处于与代码匹配的特定状态的数据库架构。

此外,我们还会有用于在 Config 目录中运行的服务器的配置脚本。

如何在 SVN 中正确设置项目结构来克服这一问题?

结构可能是这样的:

--DBHibernateProject
------trunk
------branches
------tags
--DatabaseScriptsProject
------trunk
------branches
------tags
--ConfigProject
------trunk
------branches
------tags

但是我们如何将数据库脚本项目与 DBHibernateProject 的 Release-1.0 联系起来? hibernate 项目在 Maven 存储库中有一个可部署的 Assets (jar),但 db 脚本却没有。我想确保正确的数据库脚本与正确的应用程序版本相关联。

最佳答案

如果“项目取决于...”意味着“对于 DBHibernateProject 的每个修订版,我们必须使用 DatabaseScriptsProject 和 ConfigProject 的预定义和固定修订版(它们在 DBHibernateProject 树中使用/引用)”,您始终可以使用纯Subversion 端解决方案:带有 PEG 修订的外部

如果不了解源树结构,就不能说更多:“依赖于”和“也有配置脚本”不能(容易)翻译成正式的依赖关系,就像(我糟糕的重建)

Each revision of DBHibernateProject must have related DatabaseScriptsProject (for correct schema for this code) and ConfigProject (for scripts, which produce database-schema, which is used by DBHibernateProject)

如果我的重建是正确的,在 Subversion 风格中(没有 Maven,这可能是我的错误),我将在 DBHibernateProject 树中创建两个目录类型的外部,它引用 DatabaseScriptsProject 和 ConfigProject 中的“某些状态下的某些树”分别为树

关于java - 在 Subversion 项目结构中寻找配置和数据库模式文件的正确处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14489287/

相关文章:

Java - 双向链表添加值

php - 在 windows x64 中从 php 连接到 oracle 数据库

svn - 如何使用 Netbeans 7.1 处理 SVN 1.7 存储库?

java - 二叉搜索树删除方法错误

java - 使用 DateTimeFormatter 解析模式为 'dd MMMMM uuuu' 的日期

java - OCP 1.6 或 JAVA SE 7 程序员 1

sql - 什么时候应该使用存储过程?

sql - 从表中选择 8k+ 行的最佳方法

git - 在同一 svn-remote 中初始提取后添加 git 分支

linux - 无法在 SUSE Linux 10.0 上构建 "cyrus-sasl-2.1.23"