{"record":{"id":"69bfd4c65822ae03","repo":"langgenius/dify","slug":"vector-store-vector-type-is-not-supported","errorCode":null,"errorMessage":"Vector store {vector_type} is not supported.","messagePattern":"Vector store (.+?) is not supported\\.","errorType":"console","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"api/commands/vector.py","lineNumber":229,"sourceCode":"                    collection_name = Dataset.gen_collection_name_by_id(dataset_id)\n                elif vector_type == VectorType.QDRANT:\n                    if dataset.collection_binding_id:\n                        dataset_collection_binding = db.session.execute(\n                            select(DatasetCollectionBinding).where(\n                                DatasetCollectionBinding.id == dataset.collection_binding_id\n                            )\n                        ).scalar_one_or_none()\n                        if dataset_collection_binding:\n                            collection_name = dataset_collection_binding.collection_name\n                        else:\n                            raise ValueError(\"Dataset Collection Binding not found\")\n                    else:\n                        collection_name = Dataset.gen_collection_name_by_id(dataset_id)\n\n                elif vector_type in lower_collection_vector_types:\n                    collection_name = Dataset.gen_collection_name_by_id(dataset_id).lower()\n                else:\n                    raise ValueError(f\"Vector store {vector_type} is not supported.\")\n\n                index_struct_dict = {\"type\": vector_type, \"vector_store\": {\"class_prefix\": collection_name}}\n                dataset.index_struct = json.dumps(index_struct_dict)\n                with Session(db.engine) as session:\n                    vector = Vector(dataset, session=session)\n                click.echo(f\"Migrating dataset {dataset.id}.\")\n\n                try:\n                    vector.delete()\n                    click.echo(\n                        click.style(f\"Deleted vector index {collection_name} for dataset {dataset.id}.\", fg=\"green\")\n                    )\n                except Exception as e:\n                    click.echo(\n                        click.style(\n                            f\"Failed to delete vector index {collection_name} for dataset {dataset.id}.\", fg=\"red\"\n                        )\n                    )","sourceCodeStart":211,"sourceCodeEnd":247,"githubUrl":"https://github.com/langgenius/dify/blob/ef8544b173fd6cd7a8e71df2cab576e52bebbfbc/api/commands/vector.py#L211-L247","documentation":"ValueError raised in the create-dataset-index migration when vector_type does not match upper_collection_vector_types, is not QDRANT, and does not match lower_collection_vector_types. The migration only supports a known set of vector backends; anything else is rejected before computing a collection name.","triggerScenarios":"Triggered when the --vector-type option (or configured vector type) passed to the command is not in the union of upper_collection_vector_types, VectorType.QDRANT, or lower_collection_vector_types.","commonSituations":"A new vector store type was added to VectorType but not to the migration's collection-type sets, or the operator passed an unsupported/typo'd vector type flag.","solutions":["Check VectorType enum values and the upper/lower collection type sets to confirm supported backends.","Pass a supported vector type (e.g. one of the configured upper/lower types or qdrant).","If a new backend should be supported, add it to the appropriate collection-type set with its naming convention.","Print upper_collection_vector_types and lower_collection_vector_types at startup to verify contents."],"exampleFix":"# before\nflask create-dataset-index --vector-type weaviate  # not in any set -> raises\n\n# after - use a supported type, or extend the set\nflask create-dataset-index --vector-type qdrant\n# or in code: upper_collection_vector_types.add(VectorType.WEAVIATE)","handlingStrategy":"validation","validationCode":"def is_supported_vector_type(vector_type: str) -> bool:\n    return (\n        vector_type in upper_collection_vector_types\n        or vector_type == VectorType.QDRANT\n        or vector_type in lower_collection_vector_types\n    )","typeGuard":"def is_supported_vector_type(vector_type: str) -> bool:\n    return (\n        vector_type in upper_collection_vector_types\n        or vector_type == VectorType.QDRANT\n        or vector_type in lower_collection_vector_types\n    )","tryCatchPattern":"try:\n    migrate_dataset_vector(dataset, vector_type)\nexcept ValueError as exc:\n    if \"not supported\" in str(exc):\n        click.echo(f\"Unsupported vector type: {vector_type}\", err=True)\n        raise click.Abort()\n    raise","preventionTips":["Validate --vector-type against the union of supported sets before the loop.","When adding a VectorType member, register it in the appropriate collection-type set.","Surface the list of supported types in CLI --help.","Print upper/lower collection sets at startup in verbose mode."],"tags":["backend","cli","vector-store","unsupported-type","migration"],"backgroundTag":null,"analyzedSha":"ef8544b173fd6cd7a8e71df2cab576e52bebbfbc","analyzedAt":"2026-08-12T05:15:17.394Z","schemaVersion":2},"datasetVersion":"2026-08-12T13:17:24.610Z"}