Skip to content

Cum să adaugi coloane cu Liquibase

DodaTech Updated 2025-01-15 1 min read

In this tutorial, you'll learn about Cum să adaugi coloane cu Liquibase. We cover key concepts, practical examples, and best practices.

Comanda addColumn adaugă coloane noi într-o tabelă existentă, permițând extinderea schemei fără a pierde datele existente.

Problema

Ai nevoie să adaugi o coloană nouă într-o tabelă existentă. Liquibase oferă change type-ul addColumn pentru această operațiune.

Adăugarea unei coloane

În XML:

<changeSet id="add-phone" author="ionut">
    <addColumn tableName="users">
        <column name="phone" type="varchar(20)"/>
    </addColumn>
    <rollback>
        <dropColumn tableName="users" columnName="phone"/>
    </rollback>
</changeSet>

În YAML:

- changeSet:
    id: add-phone
    author: ionut
    changes:
      - addColumn:
          tableName: users
          columns:
            - column:
                name: phone
                type: varchar(20)
    rollback:
      - dropColumn:
          tableName: users
          columnName: phone

Coloane multiple

- changeSet:
    id: add-multiple-columns
    author: ionut
    changes:
      - addColumn:
          tableName: users
          columns:
            - column:
                name: phone
                type: varchar(20)
            - column:
                name: address
                type: varchar(500)

Cu valoare implicită

- column:
    name: is_active
    type: boolean
    defaultValueBoolean: true

Erori frecvente

  1. Tabelă inexistentă — tabela trebuie să existe deja.
  2. Coloană duplicat — nu poți adăuga o coloană care există deja.
  3. Tip incorect — alege un tip compatibil cu baza de date.
  4. Null în coloana NOT NULL — dacă tabela are date, coloana nouă trebuie să permită NULL sau să aibă valoare implicită.

FAQ

### Pot adăuga o coloană NOT NULL într-o tabelă cu date?

Da, dar trebuie să specifici o valoare implicită sau să adaugi coloana fără constrângere, apoi să populezi datele.

Care este sintaxa pentru valoare implicită?

Folosește defaultValue, defaultValueBoolean, defaultValueNumeric etc.

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