{"record":{"id":"0559457bb1f3d74f","repo":"flowable/flowable-engine","slug":"there-is-no-engine-configuration-for-scope-engin","errorCode":null,"errorMessage":"There is no engine configuration for scope ${engineScopeType}","messagePattern":"There is no engine configuration for scope (.+?)","errorType":"exception","errorClass":"FlowableIllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/db/SchemaOperationsEngineBuild.java","lineNumber":52,"sourceCode":"    protected final String engineScopeType;\n    protected final String schemaOperation;\n\n    public SchemaOperationsEngineBuild(String engineScopeType) {\n        this(engineScopeType, null);\n    }\n\n    public SchemaOperationsEngineBuild(String engineScopeType, String schemaOperation) {\n        this.engineScopeType = engineScopeType;\n        this.schemaOperation = schemaOperation;\n    }\n\n    @Override\n    public Void execute(CommandContext commandContext) {\n\n        AbstractEngineConfiguration engineConfiguration = commandContext.getEngineConfigurations()\n                .get(engineScopeType);\n        if (engineConfiguration == null) {\n            throw new FlowableIllegalArgumentException(\"There is no engine configuration for scope \" + engineScopeType);\n        }\n\n        String databaseSchemaUpdate = schemaOperation == null ? engineConfiguration.getDatabaseSchemaUpdate() : schemaOperation;\n        List<SchemaManager> schemaManagers = new ArrayList<>();\n        if (engineConfiguration.getCommonSchemaManager() != null) {\n        \tschemaManagers.add(engineConfiguration.getCommonSchemaManager());\n        }\n        schemaManagers.add(engineConfiguration.getSchemaManager());\n\n        Map<String, SchemaManager> additionalSchemaManagers = engineConfiguration.getAdditionalSchemaManagers();\n\n        if (additionalSchemaManagers != null) {\n            schemaManagers.addAll(additionalSchemaManagers.values());\n        }\n\n        executeSchemaUpdate(schemaManagers, databaseSchemaUpdate);\n\n        return null;","sourceCodeStart":34,"sourceCodeEnd":70,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/db/SchemaOperationsEngineBuild.java#L34-L70","documentation":"FlowableIllegalArgumentException from SchemaOperationsEngineBuild.execute: the command looks up the engine configuration registered under engineScopeType in CommandContext.getEngineConfigurations() and finds none. The requested scope (e.g. 'process', 'cmmn', 'app') has no engine configuration registered, so no schema can be built.","triggerScenarios":"Executing SchemaOperationsEngineBuild (schema bootstrap command) with an engineScopeType string for which no AbstractEngineConfiguration was registered in the engine configurations map: typo in scope type, engine module not on classpath/configured, or the command run before that engine's configuration init registered itself.","commonSituations":"Manually wiring multi-engine (process/cmmn/dmn) bootstrapping and omitting one engine's configuration; copy-pasting the scope-type constant incorrectly; invoking schema commands programmatically in a custom setup without registering all configurations.","solutions":["Register the missing engine configuration for that scope (e.g. add the CMMN/DMN engine config to the process engine configuration's engineConfigurations).","Verify the exact scope-type string/constant matches the key used at registration.","Ensure the corresponding Flowable engine module dependency is present and initialized before schema operations run.","Use the engine's standard bootstrap (buildXxxEngine) instead of invoking SchemaOperationsEngineBuild manually."],"exampleFix":"// before\ncommandExecutor.execute(new SchemaOperationsEngineBuild(\"cmmn\")); // cmmn config never registered\n// after\nCmmnEngineConfiguration.createDefault().buildEngine(); // registers config and builds schema","handlingStrategy":"validation","validationCode":"if (!commandContext.getEngineConfigurations().containsKey(engineScopeType)) {\n  throw new IllegalStateException(\"Register engine configuration for scope \" + engineScopeType + \" before schema build\");\n}","typeGuard":null,"tryCatchPattern":"catch (FlowableIllegalArgumentException e) { if (e.getMessage().startsWith(\"There is no engine configuration for scope\")) { /* register the engine config */ } throw e; }","preventionTips":["Use buildProcessEngine()/buildCmmnEngine() instead of manual schema commands.","Verify scope-type constants against registered keys.","Add required engine module dependencies to the classpath.","Initialize all engine configurations before running schema operations."],"tags":["configuration","schema","flowable","initialization"],"backgroundTag":"missing-config-key","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}