{"record":{"id":"09797171f0bcef53","repo":"quarkusio/quarkus","slug":"unable-to-load-dropall-via-liquibase-s-commandsc","errorCode":null,"errorMessage":"Unable to load 'dropAll' via Liquibase's CommandScope","messagePattern":"Unable to load 'dropAll' via Liquibase's CommandScope","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"integration-tests/liquibase/src/main/java/io/quarkus/it/liquibase/LiquibaseFunctionalityResource.java","lineNumber":89,"sourceCode":"                try (Statement s = connection.createStatement()) {\n                    ResultSet rs = s.executeQuery(\"SELECT CREATEDBY FROM QUARKUS_TABLE WHERE ID = 1\");\n                    if (rs.next()) {\n                        return rs.getString(\"CREATEDBY\");\n                    }\n                    return null;\n                }\n            }\n        } catch (Exception ex) {\n            throw new WebApplicationException(ex.getMessage(), ex);\n        }\n\n    }\n\n    private void assertCommandScopeResolvesProperly() {\n        try {\n            new CommandScope(\"dropAll\");\n        } catch (Exception e) {\n            throw new RuntimeException(\"Unable to load 'dropAll' via Liquibase's CommandScope\", e);\n        }\n    }\n}\n","sourceCodeStart":71,"sourceCodeEnd":93,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/integration-tests/liquibase/src/main/java/io/quarkus/it/liquibase/LiquibaseFunctionalityResource.java#L71-L93","documentation":"LiquibaseFunctionalityResource.assertCommandScopeResolvesProperly() instantiates a Liquibase CommandScope(\"dropAll\") and wraps any failure in a RuntimeException('Unable to load 'dropAll' via Liquibase's CommandScope'). CommandScope resolves a Liquibase command by name from the registered CommandFactory; failure means the 'dropAll' command class is not on the classpath or cannot be initialized — typically a Liquibase version/dependency issue where the command was renamed, removed, or its module is missing.","triggerScenarios":"Invoking the /liquibase endpoint (doUpdateAuto path) when new CommandScope(\"dropAll\") throws: Liquibase's CommandFactory cannot find or instantiate the dropAll command — e.g. wrong liquibase-core version on the classpath, missing liquibase-command registration, or an exception in the command's constructor/initialization.","commonSituations":"Liquibase version upgrades where command names/modules changed; the quarkus-liquibase extension pulling an incompatible liquibase-core; shaded/missing dependency in the deployment causing NoSuchMethod/ClassNotFound during command loading.","solutions":["Check the wrapped cause (RuntimeException carries it) — ClassNotFound/NoSuchMethod errors indicate a Liquibase version mismatch","Align liquibase-core version with the version expected by the Quarkus Liquibase extension (check quarkus platform BOM)","Verify 'dropAll' is a valid command name for your Liquibase version (newer versions may use different command identifiers)","Rebuild with a clean local repository (mvn clean install) to rule out corrupted/mixed Liquibase jars"],"exampleFix":"// before\nnew CommandScope(\"dropAll\");\n// after\n// pin a compatible Liquibase version in the pom\n<dependency>\n  <groupId>org.liquibase</groupId>\n  <artifactId>liquibase-core</artifactId>\n  <version>4.29.2</version> <!-- aligned with quarkus platform -->\n</dependency>","handlingStrategy":"try-catch","validationCode":"// Verify Liquibase command availability before invoking\ntry {\n    boolean available = new CommandScope(\"dropAll\") != null;\n    if (!available) { throw new IllegalStateException(\"dropAll command unavailable\"); }\n} catch (Exception e) {\n    throw new IllegalStateException(\"Liquibase CommandFactory cannot resolve 'dropAll': \" + e.getMessage(), e);\n}","typeGuard":null,"tryCatchPattern":"try {\n    new CommandScope(\"dropAll\");\n} catch (Exception e) {\n    // log the root cause (ClassNotFound / NoSuchMethod => version mismatch)\n    throw new RuntimeException(\"Unable to load 'dropAll' via Liquibase's CommandScope\", e);\n}","preventionTips":["Keep liquibase-core version aligned with the Quarkus platform BOM; avoid manual overrides","After any Liquibase upgrade, smoke-test CommandScope resolution for every command name you use","Inspect the wrapped cause immediately — NotFound/NoSuchMethod errors point to dependency conflicts","Run mvn dependency:tree | grep liquibase to detect duplicate or conflicting Liquibase artifacts"],"tags":["liquibase","commandscope","dependency-version","migration"],"backgroundTag":"command-not-found","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}