{"record":{"id":"069a3d2c61ede12f","repo":"apache/superset","slug":"database-parameters-are-invalid","errorCode":null,"errorMessage":"Database parameters are invalid.","messagePattern":"Database parameters are invalid\\.","errorType":"exception","errorClass":"DatabaseInvalidError","httpStatus":422,"severity":"error","filePath":"superset/commands/database/update.py","lineNumber":182,"sourceCode":"        for model in [\n            SqlaTable,\n            Query,\n            SavedQuery,\n            TabState,\n            TableSchema,\n        ]:\n            fk = \"db_id\" if model == SavedQuery else \"database_id\"\n            predicate = {fk: database_id}\n            update = {\"catalog\": new_catalog}\n            db.session.query(model).filter_by(**predicate).update(update)\n\n    def validate(self) -> None:\n        if database_name := self._properties.get(\"database_name\"):\n            if not DatabaseDAO.validate_update_uniqueness(\n                self._model_id,\n                database_name,\n            ):\n                raise DatabaseInvalidError(exceptions=[DatabaseExistsValidationError()])\n","sourceCodeStart":164,"sourceCodeEnd":183,"githubUrl":"https://github.com/apache/superset/blob/f4587218dd19d046c3e4d00063e7d27f8a2ed354/superset/commands/database/update.py#L164-L183","documentation":"DatabaseInvalidError raised in DatabaseUpdateCommand.validate() when the update renames the connection and DatabaseDAO.validate_update_uniqueness fails, carrying a DatabaseExistsValidationError in its exceptions list. Connection names must be unique across the deployment.","triggerScenarios":"PUT /api/v1/database/<id> with database_name already used by another connection.","commonSituations":"Renaming to a name that collides; restoring a backup/import that duplicates names; copy-pasting connection configs.","solutions":["Choose a unique database_name","Rename or delete the conflicting connection first","List existing names via GET /api/v1/database/ and check before submitting"],"exampleFix":"// before\n {\"database_name\": \"main warehouse\"}  # already taken\n\n// after\n {\"database_name\": \"main warehouse - prod\"}","handlingStrategy":"validation","validationCode":"new_name = data.get(\"database_name\")\nif new_name and not DatabaseDAO.validate_update_uniqueness(db_id, new_name):\n    raise ValueError(f\"connection name {new_name!r} already in use\")","typeGuard":null,"tryCatchPattern":"try:\n    DatabaseUpdateCommand(db_id, data).run()\nexcept DatabaseInvalidError as e:\n    # e.exceptions contains DatabaseExistsValidationError; prompt for a new name\n    ...","preventionTips":["Namespace connection names per environment/purpose","Check existing names before rename"],"tags":["database","validation","uniqueness"],"backgroundTag":null,"analyzedSha":"f4587218dd19d046c3e4d00063e7d27f8a2ed354","analyzedAt":"2026-08-14T22:39:27.425Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}