Hemos estado utilizando la versión 1.0 durante un tiempo, y cometimos algunos errores de modelando en la cardinalidad de relaciones. La versión 1.0 no forzaba la cardinalidad, y en efecto se cargaron datos que corresponden con la realidad pero no con la cardinalidad incorrectamente definida.
Tenemos entonces el siguiente planteo: ¿es posible modificar de alguna forma la cardinalidad de la relación a los efectos de poder realizar la actualización? La alternativa que tenemos es bajar a texto plano la tabla de la relación, crear una nueva relación correctamente y cargar los datos. Pero talvez exista un shortcut a esto.
Gracias como siempre por el apoyo que nos brindan..
- Si no hay reference definidos sobre el dominio quizá podamos prepararte un comando SQL para que cambies la cardinalidad del “dominio”. Para preparártelo necesitaríamos que nos indiques:
o El nombre del dominio a cambiar
o La cardinalidad actual y el cambio requerido
o Que no hay reference en el dominio
- En caso de que ya haya reference definidos sobre el dominio, antes de pasar de 1:N a N:N, deberás eliminarlos. Para ello tendrías que seguir los siguientes pasos:
1) Apagar CMDBuild y borrar la Work de Tomcat
2) Deshabilitar los trigger sobre la clase
3) UPDATE "NomeClasse" SET "NomeReference" = NULL;
4) Rehabilitar los trigger sobre la clase
5) Encender nuevamente CMDBuild
6) Borrar el atributo reference de la interfaz
El paso 3 hará inconsistente la base de datos hasta que remuevas el reference de la clase, por lo que los datos no se modifican para nada entre los pasos 3 y 6.
Claro que, de todos modos, se aconseja realizar un backup completo de la base de datos antes de realizar cualquier cambio.
Ok, en este caso son pocas relaciones. Como vimos que en la nueva versión podemos dar de baja dominios (previamente limpiando las tablas map y history), vamos a bajarlas a texto, corregirlas allí, y volverlas a subir a un dominio nuevo correctamente creado.
Muchas gracias
Previously Ines Rubbini wrote:
Hola Edmundo,
No tenemos un shortcut.
- Si no hay reference definidos sobre el dominio quizá podamos prepararte un comando SQL para que cambies la cardinalidad del “dominio”. Para preparártelo necesitaríamos que nos indiques:
o El nombre del dominio a cambiar
o La cardinalidad actual y el cambio requerido
o Que no hay reference en el dominio
- En caso de que ya haya reference definidos sobre el dominio, antes de pasar de 1:N a N:N, deberás eliminarlos. Para ello tendrías que seguir los siguientes pasos:
1) Apagar CMDBuild y borrar la Work de Tomcat
2) Deshabilitar los trigger sobre la clase
3) UPDATE "NomeClasse" SET "NomeReference" = NULL;
4) Rehabilitar los trigger sobre la clase
5) Encender nuevamente CMDBuild
6) Borrar el atributo reference de la interfaz
El paso 3 hará inconsistente la base de datos hasta que remuevas el reference de la clase, por lo que los datos no se modifican para nada entre los pasos 3 y 6.
Claro que, de todos modos, se aconseja realizar un backup completo de la base de datos antes de realizar cualquier cambio.