Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Upgrade the v1 Cloud SQL schema and seed the v2 database side by side in the release run

Abierto
#4,129 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

@anth-volk ya está trabajando en esto.

Desde el 29/10/2026.

  • #4130 de @anth-volk — abierto

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
cloud, github-actions, google-cloud, python
Área
ci-cd, cloud

Línea de trabajo

Read the workflow files migrate-v1-cloud-sql.yml and seed-v2-database.yml, then inspect the staging and candidate deploy dependencies described in the issue. Start by comparing the staging and production job dependencies; done means both database jobs can start together in each environment, candidates still wait for both, and the migration skill documents the parallel order and partial-upgrade outcome. Pull request #4130 is already open.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Problem

In a Public API release run, seed-v2-staging-database needs migrate-v1-staging-cloud-sql, and seed-v2-production-database needs migrate-v1-production-cloud-sql, so each environment's v1 schema upgrade (about 2 minutes) and v2 seeding (about 6 minutes) run one after the other, on the path to production.

Neither job reads the other's database:

  • migrate-v1-cloud-sql.yml signs in to Google Cloud with the database migration service account, starts the Cloud SQL Auth Proxy, and runs migrate_v1_cloud_sql.sh, which reads the Cloud SQL migration credentials from Secret Manager, takes a backup when revisions are pending, upgrades and verifies the v1 schema.
  • seed-v2-database.yml has no Google Cloud sign-in, no Cloud SQL proxy and no v1 credentials. Its steps (validate_database_environment.sh supabase, the three qualify_v2_* scripts, migrate_v2_metadata_schema.sh, reconcile_v2_privileges.py and publish_v2_metadata_catalog.py) read only V2_MIGRATION_DATABASE_URL or V2_DATA_WRITE_DATABASE_URL, and import only v2 modules.

The order came in with the Stage 9 catalog (#3808, 78e380bbd), when the seeding job's predecessor waited for the single v1 upgrade job of the time; the production one did not wait for any v1 upgrade. #3813 (f410bcac1) split the v1 upgrade per environment and made both seeding jobs wait for theirs. Neither pull request nor the migration docs give a reason; docs/migration/stage-10-v2-policies.md and stage-11-v2-households.md only require both schemas before the candidate is built.

Expected behaviour

  • In each environment, the v1 upgrade and the v2 seeding start together.
  • Each Cloud Run candidate deploy needs both, so no candidate is built until both databases are upgraded. deploy-cloud-run-staging already needs both; deploy-cloud-run-candidate needs the production v1 upgrade as well as the production seeding.
  • Both jobs keep their environments (staging-database or production-database for the v1 upgrade, staging or production for the seeding) and secrets: inherit.
  • docs/engineering/skills/alembic-migrations.md records the order, and that a release that stops can leave either database upgraded without the other.

Expected saving: about 3.8 minutes per release (the measured v1 upgrade times, 2.0 in staging and 1.8 in production).

Lenguaje dominante
Python
Estrellas
18
Forks
33
Merge medio
2 d 7 h
PR fusionados (30 d)
64

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PolicyEngine/policyengine-api

Todos los issues de PolicyEngine/policyengine-api

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.