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