Modificar una clase de dominio después de que los objetos ya se hayan conservado con esa clase

Esta pregunta es similar a la pregunta aquí.

Supongamos que hice una aplicación Grails y luego, en algún momento, necesito agregar un campo a una clase de dominio. ¿Cuál sería la mejor manera de agregar ese campo y actualizar también todos los objetos que ya persisten en la base de datos? ¿Hay alguna forma de hacer esto en Grails (actualmente usando 1.3.7, pero actualizando a 2.0 cuando es estable) sin acceder manualmente a la base de datos?

preguntado el 09 de septiembre de 11 a las 15:09

1 Respuestas

Respondido el 09 de Septiembre de 11 a las 19:09

¿Su complemento tiene el mismo inconveniente que los otros complementos de Liquibase como Base automática y LiquiBase para griales? No permiten que Hibernate cree una base de datos, lo cual es una molestia menor, pero sigue siendo molesta. Además, solo por curiosidad, ¿qué les faltaba a los otros complementos que te impulsaron a crear el tuyo propio? - ubiquibacón

Autobase fue abandonado, pero tenía algunas buenas ideas. Queríamos soporte de migración oficial, compatible con SpringSource, por lo que creamos el nuevo complemento que tiene las mejores características de los complementos existentes, además de algunos nuevos como gorm-diff, que crea un conjunto de cambios entre el código actual y una base de datos. - burt beckwith

No, el complemento no creará una base de datos. Esto es posible, pero suele ser mucho más complicado que las modificaciones habituales de la tabla. Por ejemplo, en MySQL es un comando de una línea, pero también requiere una declaración de concesión adicional para que pueda acceder a la base de datos. Preferiría permitir que los usuarios hagan eso, ya que es muy específico para el uso. ¿Ha creado una base de datos (o esquema) en Oracle? Está lejos de ser un comando de 1 línea :) - burt beckwith

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.