From 3049aa7a96cf2f613e8d360419d019429737f428 Mon Sep 17 00:00:00 2001 From: Junyan Qin Date: Sun, 17 Aug 2025 21:18:41 +0800 Subject: [PATCH] feat: add migration for pipeline `remove-think` --- .../dbm005_pipeline_remove_cot_config.py | 38 +++++++++++++++++++ pkg/utils/constants.py | 2 +- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 pkg/persistence/migrations/dbm005_pipeline_remove_cot_config.py diff --git a/pkg/persistence/migrations/dbm005_pipeline_remove_cot_config.py b/pkg/persistence/migrations/dbm005_pipeline_remove_cot_config.py new file mode 100644 index 00000000..14f0beec --- /dev/null +++ b/pkg/persistence/migrations/dbm005_pipeline_remove_cot_config.py @@ -0,0 +1,38 @@ +from .. import migration + +import sqlalchemy + +from ...entity.persistence import pipeline as persistence_pipeline + + +@migration.migration_class(5) +class DBMigratePipelineRemoveCotConfig(migration.DBMigration): + """Pipeline remove cot config""" + + async def upgrade(self): + """Upgrade""" + # read all pipelines + pipelines = await self.ap.persistence_mgr.execute_async(sqlalchemy.select(persistence_pipeline.LegacyPipeline)) + + for pipeline in pipelines: + serialized_pipeline = self.ap.persistence_mgr.serialize_model(persistence_pipeline.LegacyPipeline, pipeline) + + config = serialized_pipeline['config'] + + if 'remove-think' not in config['output']['misc']: + config['output']['misc']['remove-think'] = True + + await self.ap.persistence_mgr.execute_async( + sqlalchemy.update(persistence_pipeline.LegacyPipeline) + .where(persistence_pipeline.LegacyPipeline.uuid == serialized_pipeline['uuid']) + .values( + { + 'config': config, + 'for_version': self.ap.ver_mgr.get_current_version(), + } + ) + ) + + async def downgrade(self): + """Downgrade""" + pass diff --git a/pkg/utils/constants.py b/pkg/utils/constants.py index e13958d9..28d6e3e5 100644 --- a/pkg/utils/constants.py +++ b/pkg/utils/constants.py @@ -1,6 +1,6 @@ semantic_version = 'v4.1.2' -required_database_version = 4 +required_database_version = 5 """Tag the version of the database schema, used to check if the database needs to be migrated""" debug_mode = False