Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Geschlossen
#4,129 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 2 Tagen

@anth-volk arbeitet bereits daran.

Seit 29.10.2026.

  • #4130 von @anth-volk — offen

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
cloud, github-actions, google-cloud, python
Bereich
ci-cd, cloud

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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

Vorherrschende Sprache
Python
Sterne
18
Forks
33
Ø Merge
2 T. 3 Std.
Gemergte PRs (30 T.)
72

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus PolicyEngine/policyengine-api

Alle Issues in PolicyEngine/policyengine-api

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.