Skip to content

Cum să rulezi update-uri pe contexte specifice în Liquibase

DodaTech Updated 2025-01-15 1 min read

In this tutorial, you'll learn about Cum să rulezi update. We cover key concepts, practical examples, and best practices.

Contextele în Liquibase îți permit să execuți selective changeset-uri în funcție de mediul de rulare, separând migrările specifice fiecărui mediu.

Problema

Același changelog poate conține changeset-uri care trebuie să ruleze doar în anumite medii (ex: date de test doar în dev, indexuri doar în producție). Contextele rezolvă această problemă.

Definirea contextelor în changelog

<changeSet id="1" author="user" context="dev">
  <createTable tableName="temp_data">
    <column name="id" type="BIGINT"/>
  </createTable>
</changeSet>

<changeSet id="2" author="user" context="prod">
  <createIndex tableName="orders" indexName="idx_orders_status">
    <column name="status"/>
  </createIndex>
</changeSet>

<changeSet id="3" author="user" context="dev,staging">
  <insert tableName="config">
    <column name="key" value="debug_mode"/>
    <column name="value" value="true"/>
  </insert>
</changeSet>

Rularea pe contexte

# Rulează doar changeset-urile pentru dev
liquibase update --contexts=dev

# Rulează pentru mai multe contexte
liquibase update --contexts=dev,staging

# Rulează toate changeset-urile (fără filtru)
liquibase update

Contexte multiple și excluderi

# Include dev și staging, exclude prod
liquibase update --contexts=dev,staging,!prod

Erori frecvente

  1. Context greșit — verifică numele contextelor, sunt case-sensitive.
  2. Changeset neexecutat — dacă un changeset nu se execută, verifică dacă contextul corespunde.
  3. Context prea larg — evită contexte generice; folosește nume specifice mediului.

FAQ

### Se pot combina contexte cu label-uri?

Da, poți folosi atât --contexts cât și --labels simultan pentru filtrare granulară.

Contextul implicit este?

Dacă nu specifici --contexts, se execută toate changeset-urile indiferent de context.

Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. DodaTech tools integrate seamlessly with Liquibase for enhanced productivity and security.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro