Skip to main content
Repositorio con las migraciones SQL de la base de datos de VANTS (Neon Postgres, 69 tablas en producción). Aquí se crea y se prueba cualquier cambio de tablas antes de llevarlo a producción.

Estructura

Las migraciones se ejecutan en orden alfabético y son idempotentes (CREATE TABLE IF NOT EXISTS, guards en PL/pgSQL), por lo que es seguro reaplicarlas.

Flujo de trabajo

1

Crear la migración

Añade db/migrations/35-mi-cambio.sql en una rama.
2

Abrir un PR

Se crea la rama Neon pr-<n> con las migraciones aplicadas y un comentario con la cadena de conexión enmascarada.
3

Verificar

Prueba tu SQL contra esa rama, que es una copia de producción.
4

Mergear a main

neon-migrate.yml aplica el cambio en producción. La rama del PR se borra al cerrarlo.

Áreas del esquema

Las columnas, los estados y las relaciones de cada área están en Esquema de la base de datos.

Variables opcionales

NEON_PROJECT_ID y NEON_BRANCH_ID permiten cambiar de proyecto o rama sin editar los workflows. La clave de API de Neon es un secreto a nivel de la organización VANTSNET.

Hyperdrive

Una config de Cloudflare Hyperdrive (vants-neon) agrupa y cachea conexiones al pooler de Neon para reducir horas de cómputo. Se usa con el binding HYPERDRIVE y el driver pg.

Cuota de Neon

El plan gratuito tiene horas de cómputo limitadas, y solo se consumen con el cómputo despierto. Para reducirlas:
  1. Evita consumidores 24/7 con long-poll al bus.
  2. Usa el mínimo de Suspend delay (5 min) y el tamaño mínimo de cómputo.
  3. Cierra los PR para que sus ramas se borren.
  4. Usa Hyperdrive para lecturas repetidas.