File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2442,13 +2442,17 @@ async def _pg_create_table(
24422442 # Replace table name
24432443 ddl = ddl .replace (base_table , table_name )
24442444
2445+ # Make creation idempotent to handle restarts and race conditions
2446+ ddl = ddl .replace ("CREATE TABLE " , "CREATE TABLE IF NOT EXISTS " , 1 )
24452447 await db .execute (ddl )
24462448
24472449 # Create indexes similar to check_tables() but with safe index names
24482450 # Create index for id column
24492451 id_index_name = _safe_index_name (table_name , "id" )
24502452 try :
2451- create_id_index_sql = f"CREATE INDEX { id_index_name } ON { table_name } (id)"
2453+ create_id_index_sql = (
2454+ f"CREATE INDEX IF NOT EXISTS { id_index_name } ON { table_name } (id)"
2455+ )
24522456 logger .info (
24532457 f"PostgreSQL, Creating index { id_index_name } on table { table_name } "
24542458 )
@@ -2461,9 +2465,7 @@ async def _pg_create_table(
24612465 # Create composite index for (workspace, id)
24622466 workspace_id_index_name = _safe_index_name (table_name , "workspace_id" )
24632467 try :
2464- create_composite_index_sql = (
2465- f"CREATE INDEX { workspace_id_index_name } ON { table_name } (workspace, id)"
2466- )
2468+ create_composite_index_sql = f"CREATE INDEX IF NOT EXISTS { workspace_id_index_name } ON { table_name } (workspace, id)"
24672469 logger .info (
24682470 f"PostgreSQL, Creating composite index { workspace_id_index_name } on table { table_name } "
24692471 )
You can’t perform that action at this time.
0 commit comments