Я хотел бы программно сгенерировать значение (id) для столбца во время вставки, используя журнал изменений Liquibase (XML).Например:
<changeSet ...>
<preConditions ...>
<insert tableName="my_table">
<column name="my_id" value="<call-code-to-generate-id>" />
...
</insert>
Мне нужно сделать это программно, потому что для идентификатора нужен символьный префикс (определяется кодом), за которым следует порядковый номер (старый код и множество других компонентов в системе используют его).Журнал изменений должен поддерживать как Oracle, так и SQL Server, а порядковые номера генерируются по-разному (код в настоящее время обрабатывает это).
Я смотрел на ChangeLogParser и SqlGenerator, но я не вижу простого способа сделать это,Я думал, что можно было бы проанализировать XML в поисках 'value =' 'и заменить значение сгенерированным идентификатором, но я не уверен, как это повлияет на Liquibase, чтобы определить, был ли обновлен журнал изменений или нет.
Кто-нибудь знает, возможно ли это, и если да, то как это сделать?
Я использую Liquibase 3.5.3 и Java 8.