Usando o gorm nas migrations do grails

Posted Over 10 years ago. Visible to the public.

Exemplo da utilização do gorm nas migrations do grails (com o plugin database-migration):

databaseChangeLog = {
	changeSet(id: 'usandoGorm', author: 'Victor') {
		comment('usando o gorm nas migrations')

		grailsChange {
			change {
				Pessoa pessoa = new Pessoa(nome: 'fulano')
				pessoa.save(flush: true)
                        }
	       }
	}
}

Observação
Tome cuidado ao utilizar migrations desta forma, pois se algum objeto for alterado (alguma propriedade adicionada ou removida) provavelmente resultará em um erro. Exemplo:

  • Migration1: cria a entidade Pessoa(nome, idade) (com sql)
  • Migration2: insere algumas pessoas (com grailsChange...)
  • Migration3: adiciona a propriedade altura na Pessoa (com sql)

Ao rodar a aplicação a Migration2 vai falhar pois ao tentar salvar uma nova Pessoa a coluna altura ainda nao esta criada no banco.

Victor Carvalho
Last edit
About 10 years ago
Posted by Victor Carvalho to ZeroGlosa (2013-11-19 14:04)