fix(wndb): refresh closed project connections

This commit is contained in:
2026-07-16 12:07:44 +08:00
parent baeaa8a2e1
commit f72b56845f
7 changed files with 263 additions and 105 deletions
+9 -12
View File
@@ -2,7 +2,11 @@ import os
import psycopg as pg
from psycopg import sql
from psycopg.rows import dict_row
from .connection import g_conn_dict as conn
from .connection import (
close_connection,
is_connection_open,
open_connection,
)
from app.core.config import get_pgconn_string, get_pg_config, get_pg_password
# no undo/redo
@@ -31,9 +35,7 @@ def have_project(name: str) -> bool:
def copy_project(source: str, new: str) -> None:
if source in conn:
conn[source].close()
del conn[source]
close_connection(source)
with pg.connect(
conninfo=get_pgconn_string(db_name="postgres"), autocommit=True
@@ -176,17 +178,12 @@ def clean_project(excluded: list[str] = []) -> None:
def open_project(name: str) -> None:
if name not in conn:
conn[name] = pg.connect(
conninfo=get_pgconn_string(db_name=name), autocommit=True
)
open_connection(name)
def is_project_open(name: str) -> bool:
return name in conn
return is_connection_open(name)
def close_project(name: str) -> None:
if name in conn:
conn[name].close()
del conn[name]
close_connection(name)