Ich verwende Liquibase 3.5.3, um eine Sicht in DB2 LUW 11.0 zu erstellen. Ich setze "replaceIfExists" -Eigenschaft auf True und zur Laufzeit gibt es mir einen Fehler "replaceIfExists ist nicht auf db2 zulässig".Erstellen von Sicht in DB2 LUW mit Liquibase
Ich weiß, dass diese Eigenschaft offiziell nicht für DB2 in Liquibase unterstützt wird, aber die Datenbank API erlaubt es (ich manuell ausführen SQL-Skript mit erstellen oder ersetzen und funktioniert gut).
Es gibt einige Problemumgehungen, um diese Skripts in DB2 auszuführen, oder können Sie diese Funktion möglicherweise implementieren?
Beispiel:
CREATE OR REPLACE myView AS (
SELECT * FROM myTable
)
Einige Versionen von Db2 auf einigen Plattformen unterstützen die Syntax "create or replace view". Während sowohl LUW (höher als v9.5) als auch i-Serie (höher als 6.1) diese Syntax unterstützen, funktioniert das Db2 für Z/OS nicht (Version 12). Wenn also Liquibase geändert werden sollte, müsste es wissen (oder dynamisch erkennen), welche Versionen/Plattformen die Syntax unterstützen. Vielleicht engagieren Sie sich mit liquibase.jira.com? – mao