PostgreSQL zero-downtime migrations made easy
Go to file
2023-07-06 15:26:29 +01:00
.github Add linter to tests (#9) 2023-06-27 16:33:50 +01:00
.vscode Add linter to tests (#9) 2023-06-27 16:33:50 +01:00
cmd Add migrations state handling (#7) 2023-06-28 11:10:03 +02:00
examples Format the examples with jq (#21) 2023-07-06 15:26:29 +01:00
pkg Restructure tests (#17) 2023-07-06 08:56:01 +01:00
.golangci.yml Add linter to tests (#9) 2023-06-27 16:33:50 +01:00
docker-compose.yml Initial commit 2023-06-22 17:30:40 +02:00
go.mod Bump google.golang.org/grpc from 1.47.0 to 1.53.0 (#18) 2023-07-06 09:16:11 +02:00
go.sum Bump google.golang.org/grpc from 1.47.0 to 1.53.0 (#18) 2023-07-06 09:16:11 +02:00
main.go Add linter to tests (#9) 2023-06-27 16:33:50 +01:00
README.md Add migrations state handling (#7) 2023-06-28 11:10:03 +02:00

pg-roll

⚠️ Under development ⚠️

PostgreSQL zero-downtime migrations made easy.

Getting started (development)

  • Bring a development PostgreSQL up:

    docker compose up
    
  • Initialize pg-roll (first time only):

    go run . init
    
  • Start a migration:

    go run . start examples/01_create_tables.json
    
  • Inspect the results:

    psql postgres://localhost -U postgres
    
    \d+ public.*
    \d+ 01_create_tables.*
    
  • (Optional) Rollback the migration (undo):

    go run . rollback
    
  • Complete the migration:

    go run . complete