【发布时间】:2010-03-07 00:13:04
【问题描述】:
我正在开发一个 Java Web 应用程序(Adobe Flex 前端、JPA/Hibernate/BlazeDS/Spring MVC 后端),很快我将无法再擦除数据库并重新生成它。
处理数据库架构更改的最佳方法是什么?生产和测试数据库是 SQL Server 2005,开发人员使用 MySQL,单元测试针对 HSQLDB 内存数据库运行。我可以让开发机器继续使用 Hibernate 从样本数据中擦除和重新加载数据库以重新生成表。但是,对于生产部署,DBA 希望有一个可以手动执行的 DDL 脚本。
所以,我理想的解决方案是我可以编写 Rails 样式的迁移,在测试服务器上执行它们,并在验证它们工作后能够写出 DBA 可以在生产服务器上执行的 SQL Server DDL (并且已经过验证可以在测试服务器上工作)。
有什么好的工具可以做到这一点?我是否应该手动编写 DDL(让开发机器使用 Hibernate 重新生成数据库)?我可以使用 migrate4j 之类的工具(如果有的话,它似乎对 SQL Server 的支持有限)?
我还希望将数据库操作脚本集成到此过程中(例如,通过拆分所有现有字符串的 JDBC 脚本将“名称”字段转换为“名字”、“姓氏”字段)。
任何建议将不胜感激!
【问题讨论】:
标签: java sql-server jdbc migration database