diff --git a/site/test_routes.py b/site/test_routes.py index bf47e7a..a55c75c 100644 --- a/site/test_routes.py +++ b/site/test_routes.py @@ -38,7 +38,8 @@ def test(): "POST /test status — статус БД (JSON)", "POST /test createdb — создать БД (если нет)", "POST /test tables — список таблиц", - "POST /test sql {...} — выполнить SQL", + "POST /test exec {...} — INSERT/UPDATE/DDL (без fetch)", + "POST /test sql {...} — SELECT (с fetch)", ], }) @@ -78,6 +79,17 @@ def test(): except Exception as e: return jsonify({"error": str(e)}), 500 + if action == "exec": + # Выполнить INSERT/UPDATE/DELETE/DDL через db.execute() + # (не делает fetch, поэтому подходит для CREATE TABLE и т.д.) + sql_text = data.get("sql", "") + if not sql_text: + return jsonify({"error": "no sql"}), 400 + rowcount, err = db.execute(sql_text) + if err: + return jsonify({"error": err}), 500 + return jsonify({"rowcount": rowcount}) + if action == "sql": sql_text = data.get("sql", "") if not sql_text: