fix(dataset): remove extra Session in _update_external_knowledge_binding (#22263)

pull/22265/head
xueyu 7 months ago
parent 7f5087c6db
commit f52d912c72

@ -10,7 +10,6 @@ from typing import Any, Optional
from flask_login import current_user from flask_login import current_user
from sqlalchemy import func, select from sqlalchemy import func, select
from sqlalchemy.orm import Session
from werkzeug.exceptions import NotFound from werkzeug.exceptions import NotFound
from configs import dify_config from configs import dify_config
@ -384,9 +383,8 @@ class DatasetService:
external_knowledge_id: External knowledge identifier external_knowledge_id: External knowledge identifier
external_knowledge_api_id: External knowledge API identifier external_knowledge_api_id: External knowledge API identifier
""" """
with Session(db.engine) as session:
external_knowledge_binding = ( external_knowledge_binding = (
session.query(ExternalKnowledgeBindings).filter_by(dataset_id=dataset_id).first() db.session.query(ExternalKnowledgeBindings).filter_by(dataset_id=dataset_id).first()
) )
if not external_knowledge_binding: if not external_knowledge_binding:
@ -399,7 +397,6 @@ class DatasetService:
): ):
external_knowledge_binding.external_knowledge_id = external_knowledge_id external_knowledge_binding.external_knowledge_id = external_knowledge_id
external_knowledge_binding.external_knowledge_api_id = external_knowledge_api_id external_knowledge_binding.external_knowledge_api_id = external_knowledge_api_id
db.session.add(external_knowledge_binding)
@staticmethod @staticmethod
def _update_internal_dataset(dataset, data, user): def _update_internal_dataset(dataset, data, user):

@ -119,7 +119,7 @@ class TestDatasetServiceUpdateDataset:
@pytest.fixture @pytest.fixture
def mock_external_provider_dependencies(self): def mock_external_provider_dependencies(self):
"""Mock setup for external provider tests.""" """Mock setup for external provider tests."""
with patch("services.dataset_service.Session") as mock_session: with patch("sqlalchemy.orm.Session") as mock_session:
from extensions.ext_database import db from extensions.ext_database import db
with patch.object(db.__class__, "engine", new_callable=Mock): with patch.object(db.__class__, "engine", new_callable=Mock):

Loading…
Cancel
Save