Skip to content

Cum să definești un change set în Liquibase

DodaTech Updated 2025-01-15 1 min read

In this tutorial, you'll learn about Cum să definești un change set în Liquibase. We cover key concepts, practical examples, and best practices.

Change set-ul (changeset) este unitatea de bază în Liquibase. Fiecare change set reprezintă o modificare atomică a bazei de date.

Problema

Trebuie să organizezi migrările bazei de date în unități logice, fiecare putând fi aplicată și revenită independent.

Definirea unui change set

În XML:

<changeSet id="creeaza-tabela-users" author="ionut">
    <createTable tableName="users">
        <column name="id" type="int" autoIncrement="true">
            <constraints primaryKey="true"/>
        </column>
        <column name="name" type="varchar(255)"/>
    </createTable>
</changeSet>

În YAML:

- changeSet:
    id: creeaza-tabela-users
    author: ionut
    changes:
      - createTable:
          tableName: users
          columns:
            - column:
                name: id
                type: int
                autoIncrement: true
                constraints:
                  primaryKey: true

Atribute utile

<changeSet id="1" author="ionut"
    context="dev"
    labels="schema"
    runOnChange="true"
    runAlways="false"
    failOnError="true">

Definirea rollback-ului

<changeSet id="1" author="ionut">
    <createTable tableName="users">...</createTable>
    <rollback>
        <dropTable tableName="users"/>
    </rollback>
</changeSet>

Erori frecvente

  1. ID duplicat — combinația id+author trebuie să fie unică.
  2. Rollback lipsă — fără rollback, revenirea nu este posibilă.
  3. Precondiție lipsă — pentru operațiuni riscante, adaugă precondiții.
  4. Change set prea mare — un change set ar trebui să facă un singur lucru.

FAQ

### Ce este un change set în Liquibase?

Este o unitate atomică de modificare a bazei de date, identificată unic prin id și author.

Câte change set-uri pot avea într-un fișier?

Câte dorești, dar este recomandat să păstrezi un număr rezonabil per fișier.

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