From eacf43b472f12bf716add8234b931d6ab2815909 Mon Sep 17 00:00:00 2001 From: Stephen Nwankwo Date: Sat, 4 Jul 2026 21:29:45 +0100 Subject: [PATCH] fix: make ADK table drops conditional in all migrations, exclude tests from tsconfig Migrations dae11b7e812a and 70d75bc52042 tried to drop app_states/events/ sessions/user_states unconditionally; fresh staging DBs don't have these ADK-managed tables so all three migrations now check existence first. Exclude the tests/ directory from Next.js tsconfig so the production Docker build doesn't fail on test-only type errors (e.g. framer-motion mock's children typed as unknown). Vitest uses its own resolution. Co-Authored-By: Claude Sonnet 4.6 --- .../alembic/versions/70d75bc52042_transactions_table.py | 9 +++++---- .../versions/dae11b7e812a_add_webhook_payload_field.py | 9 +++++---- frontend/tsconfig.json | 2 +- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/backend/alembic/versions/70d75bc52042_transactions_table.py b/backend/alembic/versions/70d75bc52042_transactions_table.py index 2c5cde0..1578532 100644 --- a/backend/alembic/versions/70d75bc52042_transactions_table.py +++ b/backend/alembic/versions/70d75bc52042_transactions_table.py @@ -21,10 +21,11 @@ def upgrade() -> None: """Upgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('events') - op.drop_table('sessions') - op.drop_table('user_states') - op.drop_table('app_states') + conn = op.get_bind() + existing = sa.inspect(conn).get_table_names() + for tbl in ('events', 'sessions', 'user_states', 'app_states'): + if tbl in existing: + op.drop_table(tbl) with op.batch_alter_table('payment_transactions', schema=None) as batch_op: batch_op.add_column(sa.Column('transaction_metadata', sa.JSON(), nullable=True)) batch_op.drop_column('metadata') diff --git a/backend/alembic/versions/dae11b7e812a_add_webhook_payload_field.py b/backend/alembic/versions/dae11b7e812a_add_webhook_payload_field.py index 0433d94..c9f3540 100644 --- a/backend/alembic/versions/dae11b7e812a_add_webhook_payload_field.py +++ b/backend/alembic/versions/dae11b7e812a_add_webhook_payload_field.py @@ -21,10 +21,11 @@ def upgrade() -> None: """Upgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('user_states') - op.drop_table('app_states') - op.drop_table('events') - op.drop_table('sessions') + conn = op.get_bind() + existing = sa.inspect(conn).get_table_names() + for tbl in ('user_states', 'app_states', 'events', 'sessions'): + if tbl in existing: + op.drop_table(tbl) with op.batch_alter_table('payment_transactions', schema=None) as batch_op: batch_op.add_column(sa.Column('raw_webhook_payload', sa.JSON(), nullable=True)) diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 864182e..348b3b7 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -31,5 +31,5 @@ ".next/dev/types/**/*.ts", "**/*.mts" ], - "exclude": ["node_modules"] + "exclude": ["node_modules", "tests"] }