[RESOLVIDO] Adicionar um campo a uma Domain Class existente
Estou iniciando meus estudos e gostaria de pedir sua ajuda. Adicionei um campo à uma Domain Class, gerei novas views e controllers, mas agora não consigo atualizar os objetos existentes, só consigo criar novas instâncias.
Error 500: Executing action [update] of controller [test.UserController] caused exception: not-null property references a null or transient value: test.User.lastUpdated; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: test.User.lastUpdated
Existe um jeito correto de se adicionar o campo ou não é possível?
Isso aconteceu porque voce criou um campo novo e sua aplicacao esta tratando esse campo como "Nao Nulo". Acontece que no banco de dados esse campo esta com valores nulos entao o Grails nao consegue alterar seus objetos. Temos duas solucoes:
1 - Coloque a constraint "novaColuna(nullable:true)" na sua classe
2 - Va no banco de dados e faca um "update" setando seu campo novo com um valor qualquer.
Poxa, muito obrigado Reuben.
Eu já imaginava que fosse isso. Só pensei que o Grails poderia ter uma maneira mais elegante para fazer esse &quot;update&quot;.