{"record":{"id":"8b6bb97cf4f990b4","repo":"octobercms/october","slug":"unable-to-find-import-export-blueprint-with-id-s","errorCode":null,"errorMessage":"Unable to find import/export blueprint with ID \"%s\".","messagePattern":"Unable to find import/export blueprint with ID \"(.+?)\"\\.","errorType":"exception","errorClass":"SystemException","httpStatus":null,"severity":"error","filePath":"modules/tailor/traits/BlueprintModel.php","lineNumber":55,"sourceCode":"    }\n\n    /**\n     * getBlueprintDefinition\n     */\n    public function getBlueprintDefinition(): Blueprint\n    {\n        if ($this->blueprintCache !== null) {\n            return $this->blueprintCache;\n        }\n\n        $uuid = $this->blueprint_uuid;\n        if (!$uuid) {\n            throw new SystemException('Missing a blueprint definition in import/export model.');\n        }\n\n        $blueprint = BlueprintIndexer::instance()->find($uuid);\n        if (!$blueprint) {\n            throw new SystemException(sprintf('Unable to find import/export blueprint with ID \"%s\".', $uuid));\n        }\n\n        return $this->blueprintCache = $blueprint;\n    }\n\n    /**\n     * getContentFieldsetDefinition\n     */\n    public function getContentFieldsetDefinition(): Fieldset\n    {\n        $fieldset = BlueprintIndexer::instance()->findContentFieldset($this->blueprint_uuid);\n\n        if (!$fieldset) {\n            throw new SystemException(\"Unable to find content fieldset definition with UUID of '{$this->blueprint_uuid}'.\");\n        }\n\n        return $fieldset;\n    }","sourceCodeStart":37,"sourceCodeEnd":73,"githubUrl":"https://github.com/octobercms/october/blob/b608633a7e8922487d91a8161499020121c3b3bf/modules/tailor/traits/BlueprintModel.php#L37-L73","documentation":"Thrown by the BlueprintModel trait's getBlueprintDefinition() when blueprint_uuid is set but BlueprintIndexer::find($uuid) cannot resolve it to any blueprint. For import/export models this means the referenced blueprint (section, global, etc.) is not present in the current blueprint registry.","triggerScenarios":"An import/export configuration pointing at a blueprint UUID that was deleted, recreated with a new UUID, or exists only in another environment's database; running imports before tailor:sync registered the blueprint.","commonSituations":"Storing importer configurations with hardcoded UUIDs that drift after blueprint recreation; deploying database content without the matching blueprint definitions; stale blueprint cache.","solutions":["Run php artisan tailor:sync and php artisan cache:clear so the registry resolves the UUID","Update the import/export configuration to reference the current blueprint (by handle resolution at runtime rather than a stored UUID, where possible)","Restore the missing blueprint definition so the UUID resolves again"],"exampleFix":"// before: hardcoded UUID from another environment\n$model->setBlueprintUuid('9c1d...-stale');\n\n// after: resolve at runtime by handle\n$blueprint = \\Tailor\\Classes\\BlueprintIndexer::instance()->findSectionByHandle('blog_post');\n$model->setBlueprintUuid($blueprint->uuid);","handlingStrategy":"validation","validationCode":"// Resolve by handle at runtime instead of trusting a stored UUID\n$blueprint = \\Tailor\\Classes\\BlueprintIndexer::instance()->findSectionByHandle($handle);\nif (!$blueprint) {\n    throw new RuntimeException(\"Blueprint handle [{$handle}] missing — run tailor:sync\");\n}\n$importModel->setBlueprintUuid($blueprint->uuid);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Never hardcode blueprint UUIDs in import/export configurations; resolve handles at runtime","Run tailor:sync in the deploy pipeline before any import jobs","Recreate-aware: if blueprints must be recreated, plan a UUID remap migration for dependent data"],"tags":["tailor","octobercms","blueprint","import-export","uuid","orphaned-record","indexer"],"backgroundTag":"dangling-foreign-key","analyzedSha":"b608633a7e8922487d91a8161499020121c3b3bf","analyzedAt":"2026-08-21T04:24:57.515Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}