java库维护数据库结构

时间:2011-05-31 14:47:48

标签: java sql database structure

我的应用程序总是在开发,所以偶尔 - 当版本升级时 - 需要创建/更改/删除一些表,修改一些数据等。通常需要执行一些sql代码。

是否有可用于使我的数据库结构保持最新的Java库(通过分析类似“db structure version”的信息并执行自定义sql代码来更新版本到另一个)?

使用最少的配置(即名称/类型和没有sql代码)准备使用一些基本操作(如添加/删除列)也会很棒。

6 个答案:

答案 0 :(得分:3)

试试Liquibase

  

Liquibase是一个开源的(Apache   2.0 Licensed),独立于数据库的库,用于跟踪,管理和管理   应用数据库更改。它是建成的   在一个简单的前提下:所有数据库   变化存储在人类可读的   但可追踪的形式,并检查   源控制。

     

支持的功能:

     
      
  • 扩展
  •   
  • 合并多个开发者的更改
  •   
  • 代码分支
  •   
  • 多个数据库
  •   
  • 管理生产数据以及各种测试数据集
  •   
  • 群集安全数据库升级
  •   
  • 自动更新或生成可以批准的SQL脚本   由DBA提出
  •   
  • 更新回滚
  •   
  • 数据库“diff”s
  •   
  • 从现有数据库生成启动更改日志
  •   
  • 生成数据库更改文档
  •   

答案 1 :(得分:3)

试试DBDeploy。虽然我过去没有使用它,但听起来这个项目对你的情况有帮助。 DBDeploy是database refactoring manager that

  

“自动化建立过程   需要哪些数据库重构   针对特定数据库运行   为了将其迁移到特定的   建“。

众所周知,它与Ant和Maven都集成在一起。

答案 2 :(得分:2)

我们使用一个名为Liquibase的软件。它非常灵活,您可以根据需要进行设置。我们将它与Maven集成,因此我们的数据库始终是最新的。

答案 3 :(得分:1)

您还可以查看Flyway(在SOW上标记的400个问题)或mybatis(标记了1049个问题)。要在比较中添加其他选项:Liquibase(标记为663个问题)和DBDeploy(标记了24个问题)。

您可以找到的另一个有用的资源是Flyway网站上的feature comparison(还有其他相关项目)。

答案 4 :(得分:0)

您应该查看OR Mapping库,例如Hibernate

答案 5 :(得分:0)

大多数ORM映射器都有逻辑为您进行架构升级,我已成功使用Hibernate,它至少可以自动获取基本内容。