Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>tags/1.7.2
| from flask import current_app | from flask import current_app | ||||
| from pydantic import TypeAdapter | from pydantic import TypeAdapter | ||||
| from sqlalchemy import select | from sqlalchemy import select | ||||
| from werkzeug.exceptions import NotFound | |||||
| from sqlalchemy.exc import SQLAlchemyError | |||||
| from configs import dify_config | from configs import dify_config | ||||
| from constants.languages import languages | from constants.languages import languages | ||||
| ) | ) | ||||
| if not apps: | if not apps: | ||||
| break | break | ||||
| except NotFound: | |||||
| break | |||||
| except SQLAlchemyError: | |||||
| raise | |||||
| page += 1 | page += 1 | ||||
| for app in apps: | for app in apps: | ||||
| ) | ) | ||||
| datasets = db.paginate(select=stmt, page=page, per_page=50, max_per_page=50, error_out=False) | datasets = db.paginate(select=stmt, page=page, per_page=50, max_per_page=50, error_out=False) | ||||
| except NotFound: | |||||
| break | |||||
| except SQLAlchemyError: | |||||
| raise | |||||
| page += 1 | page += 1 | ||||
| for dataset in datasets: | for dataset in datasets: | ||||
| .order_by(DatasetDocument.created_at.desc()) | .order_by(DatasetDocument.created_at.desc()) | ||||
| ) | ) | ||||
| documents = db.paginate(select=stmt, page=page, per_page=50, max_per_page=50, error_out=False) | documents = db.paginate(select=stmt, page=page, per_page=50, max_per_page=50, error_out=False) | ||||
| except NotFound: | |||||
| break | |||||
| except SQLAlchemyError: | |||||
| raise | |||||
| if not documents: | if not documents: | ||||
| break | break | ||||
| for document in documents: | for document in documents: |
| import click | import click | ||||
| from sqlalchemy import text | from sqlalchemy import text | ||||
| from werkzeug.exceptions import NotFound | |||||
| from sqlalchemy.exc import SQLAlchemyError | |||||
| import app | import app | ||||
| from configs import dify_config | from configs import dify_config | ||||
| .all() | .all() | ||||
| ) | ) | ||||
| embedding_ids = [embedding_id[0] for embedding_id in embedding_ids] | embedding_ids = [embedding_id[0] for embedding_id in embedding_ids] | ||||
| except NotFound: | |||||
| break | |||||
| except SQLAlchemyError: | |||||
| raise | |||||
| if embedding_ids: | if embedding_ids: | ||||
| for embedding_id in embedding_ids: | for embedding_id in embedding_ids: | ||||
| db.session.execute( | db.session.execute( |
| import time | import time | ||||
| import click | import click | ||||
| from werkzeug.exceptions import NotFound | |||||
| from sqlalchemy.exc import SQLAlchemyError | |||||
| import app | import app | ||||
| from configs import dify_config | from configs import dify_config | ||||
| .all() | .all() | ||||
| ) | ) | ||||
| except NotFound: | |||||
| break | |||||
| except SQLAlchemyError: | |||||
| raise | |||||
| if not messages: | if not messages: | ||||
| break | break | ||||
| for message in messages: | for message in messages: |
| import click | import click | ||||
| from sqlalchemy import func, select | from sqlalchemy import func, select | ||||
| from werkzeug.exceptions import NotFound | |||||
| from sqlalchemy.exc import SQLAlchemyError | |||||
| import app | import app | ||||
| from configs import dify_config | from configs import dify_config | ||||
| datasets = db.paginate(stmt, page=1, per_page=50) | datasets = db.paginate(stmt, page=1, per_page=50) | ||||
| except NotFound: | |||||
| break | |||||
| except SQLAlchemyError: | |||||
| raise | |||||
| if datasets.items is None or len(datasets.items) == 0: | if datasets.items is None or len(datasets.items) == 0: | ||||
| break | break | ||||
| for dataset in datasets: | for dataset in datasets: | ||||
| ) | ) | ||||
| datasets = db.paginate(stmt, page=1, per_page=50) | datasets = db.paginate(stmt, page=1, per_page=50) | ||||
| except NotFound: | |||||
| break | |||||
| except SQLAlchemyError: | |||||
| raise | |||||
| if datasets.items is None or len(datasets.items) == 0: | if datasets.items is None or len(datasets.items) == 0: | ||||
| break | break | ||||
| for dataset in datasets: | for dataset in datasets: |
| def _reset_node_var_or_sys_var( | def _reset_node_var_or_sys_var( | ||||
| self, workflow: Workflow, variable: WorkflowDraftVariable | self, workflow: Workflow, variable: WorkflowDraftVariable | ||||
| ) -> WorkflowDraftVariable | None: | ) -> WorkflowDraftVariable | None: | ||||
| # If a variable does not allow updating, it makes no sence to resetting it. | |||||
| # If a variable does not allow updating, it makes no sense to reset it. | |||||
| if not variable.editable: | if not variable.editable: | ||||
| return variable | return variable | ||||
| # No execution record for this variable, delete the variable instead. | # No execution record for this variable, delete the variable instead. | ||||
| "node_execution_id": stmt.excluded.node_execution_id, | "node_execution_id": stmt.excluded.node_execution_id, | ||||
| }, | }, | ||||
| ) | ) | ||||
| elif _UpsertPolicy.IGNORE: | |||||
| elif policy == _UpsertPolicy.IGNORE: | |||||
| stmt = stmt.on_conflict_do_nothing(index_elements=WorkflowDraftVariable.unique_app_id_node_id_name()) | stmt = stmt.on_conflict_do_nothing(index_elements=WorkflowDraftVariable.unique_app_id_node_id_name()) | ||||
| else: | else: | ||||
| raise Exception("Invalid value for update policy.") | raise Exception("Invalid value for update policy.") |