Skip to content

Cum să adaugi chei primare cu Liquibase

DodaTech Updated 2025-01-15 1 min read

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

Constrângerea de cheie primară identifică unic fiecare înregistrare dintr-o tabelă. Liquibase oferă addPrimaryKey pentru a o defini.

Problema

O tabelă nouă sau existentă nu are cheie primară. Ai nevoie de o constrângere care să asigure unicitatea și să optimizeze interogările.

Adăugarea unei chei primare

În XML:

<changeSet id="add-pk-users" author="ionut">
    <addPrimaryKey
        tableName="users"
        columnNames="id"
        constraintName="pk_users"/>
    <rollback>
        <dropPrimaryKey tableName="users" constraintName="pk_users"/>
    </rollback>
</changeSet>

În YAML:

- changeSet:
    id: add-pk-users
    author: ionut
    changes:
      - addPrimaryKey:
          tableName: users
          columnNames: id
          constraintName: pk_users

Cheie primară compusă

- changeSet:
    id: add-pk-orders
    author: ionut
    changes:
      - addPrimaryKey:
          tableName: order_items
          columnNames: order_id, product_id
          constraintName: pk_order_items

Erori frecvente

  1. Coloane NULL — coloanele cheii primare trebuie să fie NOT NULL.
  2. Cheie duplicat — o tabelă poate avea o singură cheie primară.
  3. Nume constrângere — numele constrângerii trebuie să fie unic în schemă.
  4. Coloană inexistentă — coloana trebuie să existe în tabelă.

FAQ

### Pot adăuga o cheie primară pe o coloană cu NULL-uri?

Nu. Coloana trebuie să fie mai întâi NOT NULL și să aibă valori unice.

Care este diferența între UNIQUE și PRIMARY KEY?

Cheia primară este întotdeauna NOT NULL și implicit creează un index clusterat în majoritatea bazelor de date.

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