Когда я выполняю команду sqloutput, Liquibase 3.2.2 предшествует каждой вставке таблицы базы данных с текущим именем схемы.команда updateSQL предшествует таблице databasechangelog с текущим именем схемы
INSERT INTO <MY_TEST_SCHEMA>.DATABASECHANGELOG (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, DESCRIPTION, COMMENTS, EXECTYPE, LIQUIBASE) VALUES (...);
Это заставляет меня обрабатывать файлы результатов, чтобы удалить «MY_TEST_SCHEMA». string, потому что мы запускаем Liquibase против тестовой схемы, прежде чем запускать полученные файлы в производство.
Я использую Liquibase 2.0.3 довольно долго, и это поведение является новым в Liquibase 3.0.0.
Есть ли способ предотвратить добавление имени схемы? Я уже пытался использовать параметр defaultSchemaName, но он не работал.
Флаги работали для меня с либерзазой 3.2.2. Это командная строка java -cp ".; C: \ \ Liquibase-3.2.2 \ liquidibase.jar; \ Liquibase-3.2.2 \ lib \ ojdbc14.jar; C: \ \ Liquibase-3.2.2 \ lib \ snakeyaml-1.13.jar "liquidibase.integration.commandline.Main --outputDefaultSchema = false --outputDefaultCatalog = false --logLevel strict --defaultsFile myprops.properties --contexts dml updateSQL Спасибо –
kothvandir
Собственно, флаги работать отлично на окнах, но не на Unix, та же самая командная строка приводит к префиксным предложениям базы данных. Имеет ли это смысл? Проблема получения параметров? возможно, в верхнем регистре? – kothvandir
Возможно, существует разница в том, есть ли у вас их в файле liquidibase.properties или непосредственно в аргументах командной строки. Есть ли разница для вас? –