-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
Hi ADK team,
I’m using the Python ADK with a CockroachDB session store in a Kubernetes deployment. As we upgrade ADK versions over time, we’ve observed that the database schema for session tables evolves, but there isn’t a built-in mechanism to reliably manage those changes.
Looking at existing issues (for example #3343, #3520, and the bug in #3681), it appears that:
We need to manually discover and apply ALTER TABLE migrations when ADK updates add or change columns.
The current ADK migration support tends to only create new tables, not handle column changes or schema evolution automatically.
I have two specific questions about the current strategy and future plans:
Schema management strategy:
When ADK evolves the session or other internal schemas (e.g., new columns, dropped fields), what is the recommended approach for reflecting those changes in existing database instances? Will ADK provide incremental migration scripts (for example, Alembic migrations) that can be applied without data loss? Or will each schema update result in a new schema version requiring manual migration and downtime?
In other words, is there a roadmap toward built-in schema migrations that handle altering existing tables rather than requiring operators to write and apply manual SQL migrations when upgrading ADK versions?
Zero-downtime migrations:
In scalable multi-pod environments (e.g., Kubernetes), downtime during schema updates is costly. Are there plans to support zero-downtime database migrations, either in ADK itself (via migration tooling) or recommendations for integrating with external tools/workflows that can perform safe, online schema changes? CockroachDB supports live schema changes at the database layer, but application-level schema management (including coordination across pods) is currently manual.
We’re keen to adopt a long-term strategy that avoids unexpected breakages during ADK upgrades and keeps session persistence robust across versions. Any guidance on planned features or recommended practices would be very helpful.
Thanks!