sql >> Database teknologi >  >> RDS >> PostgreSQL

Ændring af tabel med kommandoen Sqitch Rework

Omarbejdet er beregnet til at gøre idempotent ændringer, såsom CREATE OR REPLACE FUNCTION . CREATE TABLE udtalelse er ikke idempotent. Hvis du vil tilføje en kolonne til en tabel, foreslår jeg enten:

  1. Hvis du ikke har frigivet din database, skal du blot ændre CREATE TABLE sætning i den oprindelige ændring og sqitch rebase for at fortryde alle ændringer og ominstallere med den opdaterede tabel. Dette er ideelt, når du laver udvikling.

  2. Ellers skal du tilføje en ny ændring med navnet $table_$column eller sådan noget, og brug en ALTER TABLE sætning for at tilføje den nye kolonne. Dette er den tilgang, du skal tage, hvis du allerede har frigivet databasen, selvom du også kan gøre det før frigivelse, hvis du vil.




  1. Tabel findes ikke, mens du bruger EF 6 og Oracle.ManagedDataAccess

  2. Præcis betydning af MySQL's Foreign Key 'on delete restrict'-klausul

  3. Hvordan man bevarer orden på børn til at vise sig efter deres forældre

  4. Adgang nægtet for brugeren 'root'@'localhost'