最佳实践:SQL脚本或信任GORM

Bra*_*ads 4 grails

我总是编写所有数据库更改的脚本.但我想知道我是否真的需要使用Grails应用程序,因为GORM会自动进行更改.

那么在Grails应用程序中管理数据库更改的最佳实践是什么?

Col*_*ton 8

这是我在几个大型Grails项目(以及一些较小的项目)上使用的模式:

  1. 在GORM,我们信任 ™用于开发的第一阶段(预生产/无数据)
  2. 刚释放到生产环境之前开始使用类似的工具欧德巴斯,Liquibase,数据库迁移任务(类似于回报率的耙),或其他模式版本的效用.
  3. 通过该工具以自动方式维护所有数据库更改.
  4. 通过将运行极端情况和数据完整性的测试编写到您在生产数据上运行它们的级别来测试迁移.

我不会在生产中使用直接GORM,除非它是一个较小的项目,可以处理一些可能的减速和手动干预.

一旦开始管理多个环境(本地开发,QA/UAT,Staging,Production),您会很高兴您花时间管理数据库更改.

Liquibase和Autobase都为您提供了一些编写许多常见重构的好工具,但如果您需要/可以,您可以随时使用原始SQL.