From 0e3fc7362cf5c26abb11ac3594d6c57e78b721c2 Mon Sep 17 00:00:00 2001 From: Nemo Date: Thu, 19 Mar 2026 07:59:13 +0800 Subject: [PATCH] fix: full schema reset on startup (DROP SCHEMA CASCADE) --- backend/start.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/backend/start.sh b/backend/start.sh index e0d474d..0769709 100644 --- a/backend/start.sh +++ b/backend/start.sh @@ -4,18 +4,22 @@ set -e echo "Waiting for database..." sleep 3 -echo "Resetting database schema..." +echo "Resetting database (full schema drop)..." python -c " from app.database import engine from app.models import Base -import sqlalchemy as sa +from sqlalchemy import text + +with engine.connect() as conn: + conn.execute(text('DROP SCHEMA public CASCADE')) + conn.execute(text('CREATE SCHEMA public')) + conn.execute(text('GRANT ALL ON SCHEMA public TO servesync')) + conn.execute(text('GRANT ALL ON SCHEMA public TO public')) + conn.commit() +print('Schema dropped.') -# Drop all tables for clean v2 schema -print('Dropping old tables...') -Base.metadata.drop_all(bind=engine) -print('Creating new tables...') Base.metadata.create_all(bind=engine) -print('Schema ready.') +print('New schema created.') " echo "Seeding data..."