{"record":{"id":"93db56898aac4f0b","repo":"HelloZeroNet/ZeroNet","slug":"dbschema-version-s-not-supported","errorCode":null,"errorMessage":"Dbschema version %s not supported","messagePattern":"Dbschema version (.+?) not supported","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/Db/DbCursor.py","lineNumber":242,"sourceCode":"        elif self.db.schema[\"version\"] == 2:\n            # Separate directory, file_name (easier join)\n            res = self.execute(\"SELECT * FROM json WHERE ? LIMIT 1\", {\"directory\": directory, \"file_name\": file_name})\n            row = res.fetchone()\n            if not row:  # No row yet, create it\n                self.execute(\"INSERT INTO json ?\", {\"directory\": directory, \"file_name\": file_name})\n                res = self.execute(\"SELECT * FROM json WHERE ? LIMIT 1\", {\"directory\": directory, \"file_name\": file_name})\n                row = res.fetchone()\n        elif self.db.schema[\"version\"] == 3:\n            # Separate site, directory, file_name (for merger sites)\n            site_address, directory = re.match(\"^([^/]*)/(.*)$\", directory).groups()\n            res = self.execute(\"SELECT * FROM json WHERE ? LIMIT 1\", {\"site\": site_address, \"directory\": directory, \"file_name\": file_name})\n            row = res.fetchone()\n            if not row:  # No row yet, create it\n                self.execute(\"INSERT INTO json ?\", {\"site\": site_address, \"directory\": directory, \"file_name\": file_name})\n                res = self.execute(\"SELECT * FROM json WHERE ? LIMIT 1\", {\"site\": site_address, \"directory\": directory, \"file_name\": file_name})\n                row = res.fetchone()\n        else:\n            raise Exception(\"Dbschema version %s not supported\" % self.db.schema.get(\"version\"))\n        return row\n\n    def close(self):\n        pass\n","sourceCodeStart":224,"sourceCodeEnd":247,"githubUrl":"https://github.com/HelloZeroNet/ZeroNet/blob/454c0b2e7e000fda7000cba49027541fbf327b96/src/Db/DbCursor.py#L224-L247","documentation":"Compatibility guard in DbCursor.getJsonRow: the site's dbschema.json declares a schema['version'] higher than the versions the database layer implements, so no query strategy exists for that row layout. The input at fault is an unsupported dbschema version value; the db must be rebuilt or the client upgraded.","triggerScenarios":"Thrown at src/Db/DbCursor.py:242 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Update the client to a version supporting the site's dbschema version","Rebuild the site database so it matches a supported schema version","Catch the error and fall back to a schema rebuild (db.rebuild) instead of querying directly"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"454c0b2e7e000fda7000cba49027541fbf327b96","analyzedAt":"2026-09-02T19:46:57.278Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-10T02:17:09.455Z"}