coder / coder/internal

lint duplicate migration numbers before merge and in `main`

Aperta
#215 6 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
Nessun dato sulla lingua
Stelle
3
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Exhibit A: https://github.com/coder/coder/pull/15530

coder/coder#15448 was merged after coder/coder#15502, and both contained the same migration number. This passed all checks, and when we auto-deployed `main` to our dogfood environment we encountered a fatal error on startup:

```
Encountered an error running "coder server", see "coder server --help" for more information
error: connect to postgres:
github.com/coder/coder/v2/cli.(*RootCmd).Server.func2
/home/runner/work/coder/coder/cli/server.go:704
- connect to postgres:
github.com/coder/coder/v2/cli.getPostgresDB
/home/runner/work/coder/coder/cli/server.go:2625
- migrate up:
/home/runner/work/coder/coder/cli/server.go:2206
- migrate setup:
/home/runner/work/coder/coder/coderd/database/migrations/migrate.go:116
- create iofs:
/home/runner/work/coder/coder/coderd/database/migrations/migrate.go:82
- failed to init driver with path .: duplicate migration file: 000274_rename_user_link_claims.down.sql
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia leggendo coderd/database/migrations/migrate.go, in particolare il percorso di configurazione delle migration che segnala i file duplicati, e analizza il problema nei PR 15530, 15448 e 15502. Determina come verificare i numeri di migration duplicati prima del merge e su main; il lavoro è completato quando entrambi i controlli rilevano la collisione prima che il deployment possa fallire.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
postgres
Ambito
databases
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.