Skip to content

Cum să ștergi chei primare cu Liquibase

DodaTech Updated 2025-01-15 1 min read

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

Comanda dropPrimaryKey elimină constrângerea de cheie primară dintr-o tabelă. Utilă când restructurezi schema sau schimbi strategia de identificare.

Problema

Trebuie să schimbi cheia primară a unei tabele (de exemplu, de la un ID numeric la un ID compus). Mai întâi trebuie să o ștergi pe cea existentă.

Ștergerea unei chei primare

În XML:

<changeSet id="drop-pk-users" author="ionut">
    <dropPrimaryKey
        tableName="users"
        constraintName="pk_users"/>
</changeSet>

În YAML:

- changeSet:
    id: drop-pk-users
    author: ionut
    changes:
      - dropPrimaryKey:
          tableName: users
          constraintName: pk_users

Rollback

- changeSet:
    id: drop-pk-users
    author: ionut
    changes:
      - dropPrimaryKey:
          tableName: users
          constraintName: pk_users
    rollback:
      - addPrimaryKey:
          tableName: users
          columnNames: id
          constraintName: pk_users

Înlocuirea cheii primare

- changeSet:
    id: replace-pk
    author: ionut
    changes:
      - dropPrimaryKey:
          tableName: users
          constraintName: pk_users
      - addPrimaryKey:
          tableName: users
          columnNames: email
          constraintName: pk_users_email

Erori frecvente

  1. Constrângere inexistentă — numele constrângerii trebuie să fie corect.
  2. Dependențe — cheile străine care referă această cheie primară pot bloca ștergerea.
  3. Index asociat — ștergerea cheii primare șterge și indexul asociat.
  4. Rollback lipsă — fără rollback, tabela rămâne fără cheie primară.

FAQ

### Ce se întâmplă cu datele după ștergerea cheii primare?

Datele rămân, dar nu mai există constrângerea de unicitate.

Pot șterge cheia primară dacă există chei străine care o referă?

Depinde de baza de date. Unele baze blochează operațiunea, altele permit.

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