2012-04-06 5 views
0

Einige Tage habe ich meine dba lieben, und dann gibt es heute ...liquibase verwenden, wie ein Objektmodell zu behandeln, die eine Teilmenge der Datenbanktabelle ist

In einer Grails-Anwendung, verwenden wir die Datenbank-Migration-Plugin (basierend auf Liquibase) um Migrationen etc. zu bewältigen.

Alles funktioniert sehr gut.

Ich wurde informiert, dass es eine Reihe von db administrative Metadaten gibt, die wir müssen Unterstützung für jede Tabelle. Diese Information hat keinen Nutzen für die App.

Jetzt kann ich einfach meine Modelle aktualisieren, um dies zu berücksichtigen. Aber diese Antwort ist hässlich.

Das Problem ist jetzt bei jeder Migration, Liquibase/Datenbank-Migration-Plugin, beschwert sich über das Schema und das Modell nicht synchron ist.

Gibt es trotzdem zu sagen Liquibase (oder GORM), dass die Spalten x, y, z ignoriert werden sollen?

Was ich zu vermeiden versuche, ist Change wie folgt aus:

ChangeSet (Autor: "cwright (generiert)", id: "1333733941347-5") { dropColumn (column: "BUILD_MONTH", tableName: "ASSIGNMENT")}

Das versucht, das Schema wieder in Übereinstimmung mit dem Modell zu bringen. In der Lage zu sein, diese Spalten mit Anmerkungen zu versehen, die nicht für das Modell gelten, wäre eine gute Sache.

Antwort

0

Leider sind Sie wahrscheinlich besser dran, Ihre eigenen mapping block zu definieren und die Kontrolle über die Data Mapper (was ist im Wesentlichen Hibernate) an dieser Stelle. Wenn Sie steuern möchten, wie das Datenbankintegrations-Plug-in Migrationen verarbeitet, möchten Sie möglicherweise look at the source oder raise an issue on the JIRA. Naiv: Wenn Sie Ihre Spalten explizit im Domänenmodell zuordnen, sollten Sie unnötige Spalten aus der Datenbank umgehen können.