{"record":{"id":"bec43dbd83a25154","repo":"octobercms/october","slug":"unable-to-find-global-blueprint-with-id-s","errorCode":null,"errorMessage":"Unable to find global blueprint with ID \"%s\".","messagePattern":"Unable to find global blueprint with ID \"(.+?)\"\\.","errorType":"exception","errorClass":"SystemException","httpStatus":null,"severity":"error","filePath":"modules/tailor/models/globalrecord/HasGlobalBlueprint.php","lineNumber":81,"sourceCode":"    }\n\n    /**\n     * getBlueprintDefinition\n     */\n    public function getBlueprintDefinition(): GlobalBlueprint\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 global definition. Call GlobalRecord::inGlobal() to set one.');\n        }\n\n        $blueprint = BlueprintIndexer::instance()->findGlobal($uuid);\n        if (!$blueprint) {\n            throw new SystemException(sprintf('Unable to find global blueprint with ID \"%s\".', $uuid));\n        }\n\n        return $this->blueprintCache = $blueprint;\n    }\n\n    /**\n     * fetchBlueprintContent\n     */\n    public function fetchBlueprintContent()\n    {\n        $content = $this->content;\n        $contentColumns = $this->getFieldsetColumnNames();\n\n        // Fetch content attributes\n        foreach ($contentColumns as $key) {\n            if (array_key_exists($key, $content)) {\n                $this->$key = $content[$key];\n            }","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/octobercms/october/blob/b608633a7e8922487d91a8161499020121c3b3bf/modules/tailor/models/globalrecord/HasGlobalBlueprint.php#L63-L99","documentation":"Thrown by getBlueprintDefinition() on global records (HasGlobalBlueprint trait) when blueprint_uuid is set but BlueprintIndexer::findGlobal($uuid) returns null — the registry knows no global blueprint with that UUID. This is the dangling-reference variant for globals: the data points at a blueprint the current environment does not have.","triggerScenarios":"Global record rows persisting a UUID from a deleted/recreated global blueprint; database dumps restored without the corresponding blueprint content; blueprints not synced (tailor:sync never run) on the current environment.","commonSituations":"Recreating a global in Tailor after deleting it (new UUID minted, old rows orphaned); staging-to-production content pushes that include records but not blueprint definitions; cache holding a stale blueprint registry.","solutions":["Run php artisan tailor:sync followed by php artisan cache:clear","If the global was recreated, reassign the orphaned rows' blueprint_uuid to the new blueprint UUID","Re-import or restore the tailoring file that defined the missing global blueprint","As a last resort, remove orphaned global rows"],"exampleFix":"// Point orphaned global rows at the recreated blueprint\n$blueprint = \\Tailor\\Classes\\BlueprintIndexer::instance()->findGlobalByHandle('site_settings');\n\\Tailor\\Models\\GlobalRecord::where('blueprint_uuid', $oldUuid)\n    ->update(['blueprint_uuid' => $blueprint->uuid]);","handlingStrategy":"validation","validationCode":"$blueprint = \\Tailor\\Classes\\BlueprintIndexer::instance()->findGlobal($model->blueprint_uuid);\nif (!$blueprint) {\n    // orphaned row: reattach to the current global blueprint or skip\n}","typeGuard":"function globalUuidResolves(?string $uuid): bool\n{\n    return $uuid !== null\n        && \\Tailor\\Classes\\BlueprintIndexer::instance()->findGlobal($uuid) !== null;\n}","tryCatchPattern":null,"preventionTips":["Edit globals in place instead of delete/recreate so UUIDs stay stable","Keep blueprint definitions and record data versioned/deployed together","Run tailor:sync after restoring any database backup"],"tags":["tailor","octobercms","blueprint","global","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"}