Naar inhoud springen

Databasemigraties

Databasemigraties CI op GitHub Actions

Bij elke testrun wordt de volledige migratiegeschiedenis opnieuw afgespeeld vanuit een lege database.

3m → 4s
Migraties

Bij elke testrun wordt de volledige migratiegeschiedenis opnieuw afgespeeld vanuit een lege database.

Waarom het gebeurt

De testdatabase wordt helemaal opnieuw gemaakt in plaats van op basis van een schemamomentopname in de cache.

Wat te veranderen

  1. Dump het gemigreerde schema één keer en laad het rechtstreeks in testtaken
  2. Gebruik --keepdb of iets vergelijkbaars, zodat de database tussen runs door blijft bestaan
  3. Voer migraties uit op een door tmpfs ondersteunde database voor snelheid
  4. Test het migratiepad zelf in een aparte, minder frequente taak

Databasemigraties op runnerhut

yaml
jobs:
test:
runs-on: runnerhut-4vcpu-ubuntu-2404
services:
postgres: { image: postgres:17, env: { POSTGRES_PASSWORD: postgres } }
steps:
- uses: actions/checkout@v4
- run: psql -f schema.sql
- run: npm test
Een werkend uitgangspunt

De enige runnerhut-specifieke regel is `runs-on: runnerhut-4vcpu-ubuntu-2404`. Al het andere is standaard GitHub Actions — dezelfde acties, dezelfde geheimen en hetzelfde machtigingsmodel dat u vandaag de dag gebruikt.

Je volgende build kan twee keer zo snel zijn, voor de halve prijs

Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.