Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#4,129 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

@anth-volk ci sta già lavorando.

Dal 29/10/2026.

  • #4130 di @anth-volk — aperta

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
cloud, github-actions, google-cloud, python
Ambito
ci-cd, cloud

Direzione di ricerca

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.

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

Descrizione

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).

Lingua principale
Python
Stelle
18
Fork
33
Merge medio
2g 7h
PR unite (30g)
64

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di PolicyEngine/policyengine-api

Tutte le issue di PolicyEngine/policyengine-api

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.