Я столкнулся с проблемами при попытке использовать тег sql для хранимых процедур, триггеров и функций, но в моем случае это были проблемы с драйвером JDBC MySQL, а не с самой Liquibase. Практика, в которой я остановился, заключается в том, чтобы использовать рефакторинг sqlFile, как предлагает Натан, а затем управлять кодом SP / trigger / function в том же проекте, что и журнал изменений, версионированный в системе исходного кода вместе с ним. Это позволяет вам управлять SP / любым другим кодом, как если бы он был настоящим исходным кодом.
Установка runOnChange = "true" в наборе изменений, содержащем рефакторинг sqlFile, имеет важное значение. Именно этот переключатель (спасибо, Натан) обеспечивает реальный контроль исходного кода процедурной базы данных.