diff --git a/contributing/samples/migrate_session_db/README.md b/contributing/samples/migrate_session_db/README.md index 6f1fc1aa11..784586bf5a 100644 --- a/contributing/samples/migrate_session_db/README.md +++ b/contributing/samples/migrate_session_db/README.md @@ -27,10 +27,13 @@ ADK provides a migration script to update the database schema. Run the following ```bash # Clean up the previous run before executing the migration -cp dnd_sessions.db sessions.db +cp dnd_sessions.db sessions.db.old # Download and run the migration script -curl -fsSL https://raw.githubusercontent.com/google/adk-python/main/scripts/db_migration.sh | sh -s -- "sqlite:///%(here)s/sessions.db" "google.adk.sessions.database_session_service" +curl -fsSL https://raw.githubusercontent.com/google/adk-python/main/scripts/db_migration.sh | sh -s -- "sqlite:///%(here)s/sessions.db.old" "google.adk.sessions.database_session_service" + +python -m google.adk.sessions.migrate_from_sqlalchemy_sqlite --source_db_path ./sessions.db.old --dest_db_path ./sessions.db +rm sessions.db.old ``` This script uses `alembic` to compare the existing schema against the current model definition and automatically generates and applies the necessary migrations. @@ -52,4 +55,4 @@ You should see output indicating that the old session was successfully loaded. ## Limitations -The migration script is designed to add new columns that have been introduced in newer ADK versions. It does not handle more complex schema changes, such as modifying a column's data type (e.g., from `int` to `string`) or altering the internal structure of stored data. \ No newline at end of file +The migration script is designed to add new columns that have been introduced in newer ADK versions. It does not handle more complex schema changes, such as modifying a column's data type (e.g., from `int` to `string`) or altering the internal structure of stored data. diff --git a/contributing/samples/migrate_session_db/main.py b/contributing/samples/migrate_session_db/main.py index 10d2da0af5..2f727acb4e 100644 --- a/contributing/samples/migrate_session_db/main.py +++ b/contributing/samples/migrate_session_db/main.py @@ -21,8 +21,8 @@ from google.adk.artifacts.in_memory_artifact_service import InMemoryArtifactService from google.adk.cli.utils import logs from google.adk.runners import Runner -from google.adk.sessions.database_session_service import DatabaseSessionService from google.adk.sessions.session import Session +from google.adk.sessions.sqlite_session_service import SqliteSessionService from google.genai import types load_dotenv(override=True) @@ -32,7 +32,7 @@ async def main(): app_name = 'migrate_session_db_app' user_id_1 = 'user1' - session_service = DatabaseSessionService('sqlite:///./sessions.db') + session_service = SqliteSessionService('./sessions.db') artifact_service = InMemoryArtifactService() runner = Runner( app_name=app_name,