Only create default json table if it's not defined in dbschema

This commit is contained in:
shortcutme 2018-11-21 03:31:12 +01:00
parent 8a17fe927f
commit 4195a72621
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE

View file

@ -180,33 +180,34 @@ class Db(object):
if changed: if changed:
changed_tables.append("keyvalue") changed_tables.append("keyvalue")
# Check json table # Create json table if no custom one defined
if self.schema["version"] == 1: if "json" not in self.schema.get("tables", {}):
changed = cur.needTable("json", [ if self.schema["version"] == 1:
["json_id", "INTEGER PRIMARY KEY AUTOINCREMENT"], changed = cur.needTable("json", [
["path", "VARCHAR(255)"] ["json_id", "INTEGER PRIMARY KEY AUTOINCREMENT"],
], [ ["path", "VARCHAR(255)"]
"CREATE UNIQUE INDEX path ON json(path)" ], [
], version=self.schema["version"]) "CREATE UNIQUE INDEX path ON json(path)"
elif self.schema["version"] == 2: ], version=self.schema["version"])
changed = cur.needTable("json", [ elif self.schema["version"] == 2:
["json_id", "INTEGER PRIMARY KEY AUTOINCREMENT"], changed = cur.needTable("json", [
["directory", "VARCHAR(255)"], ["json_id", "INTEGER PRIMARY KEY AUTOINCREMENT"],
["file_name", "VARCHAR(255)"] ["directory", "VARCHAR(255)"],
], [ ["file_name", "VARCHAR(255)"]
"CREATE UNIQUE INDEX path ON json(directory, file_name)" ], [
], version=self.schema["version"]) "CREATE UNIQUE INDEX path ON json(directory, file_name)"
elif self.schema["version"] == 3: ], version=self.schema["version"])
changed = cur.needTable("json", [ elif self.schema["version"] == 3:
["json_id", "INTEGER PRIMARY KEY AUTOINCREMENT"], changed = cur.needTable("json", [
["site", "VARCHAR(255)"], ["json_id", "INTEGER PRIMARY KEY AUTOINCREMENT"],
["directory", "VARCHAR(255)"], ["site", "VARCHAR(255)"],
["file_name", "VARCHAR(255)"] ["directory", "VARCHAR(255)"],
], [ ["file_name", "VARCHAR(255)"]
"CREATE UNIQUE INDEX path ON json(directory, site, file_name)" ], [
], version=self.schema["version"]) "CREATE UNIQUE INDEX path ON json(directory, site, file_name)"
if changed: ], version=self.schema["version"])
changed_tables.append("json") if changed:
changed_tables.append("json")
# Check schema tables # Check schema tables
for table_name, table_settings in self.schema.get("tables", {}).items(): for table_name, table_settings in self.schema.get("tables", {}).items():