Контексты лучше всего использовать для таких вещей, как окружение (например, DEV, STAGING, PRODUCTION).Для того, что вы делаете, лучше использовать ярлыки.
И метки, и контексты могут использоваться для управления тем, где и когда наборы изменений применяются к различным средам.Они часто используются в сочетании друг с другом.
В этой таблице выражено одно ключевое отличие:
labels contexts
in commands expression list
in changelog list expression
Таким образом, при определении журнала изменений каждый набор изменений может иметь атрибут «метки», который может содержать список, разделенный запятыми.этикеток.Каждый набор изменений может иметь атрибут «контексты», который может содержать сложное выражение контекстов.Сложные выражения - это такие вещи, как «qa или (acme_inc and dev)»
И наоборот, при использовании команды (т. Е. Deploy) вы можете указать сложное выражение для меток, но только список контекстов.
Статья, ссылка на которую приведена ниже, углубляется, но в целом метки полезны, когда вы можете просто перечислить / описать, для чего предназначен набор изменений, но среду времени развертывания сложно описать.Контексты полезны, когда «контекст», в котором следует развернуть набор изменений, является сложным решением, которое лучше оставить автору набора изменений, а не разработчику.
Одно место, где можно узнать больше о том, как Liquibase справляется с этим, можно найти в блоге Натана: http://www.liquibase.org/2014/11/contexts-vs-labels.html