This commit is contained in:
@@ -78,6 +78,8 @@ CREATE TABLE IF NOT EXISTS sounds (
|
||||
file_name TEXT,
|
||||
duration_ms INTEGER,
|
||||
enabled INTEGER NOT NULL DEFAULT 1,
|
||||
volume INTEGER NOT NULL DEFAULT 100,
|
||||
is_system INTEGER NOT NULL DEFAULT 0,
|
||||
created_at TEXT NOT NULL,
|
||||
updated_at TEXT NOT NULL
|
||||
);
|
||||
@@ -93,6 +95,19 @@ CREATE TABLE IF NOT EXISTS recordings (
|
||||
FOREIGN KEY (map_id) REFERENCES maps(id) ON DELETE SET NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS transitions (
|
||||
id TEXT PRIMARY KEY,
|
||||
site_id TEXT NOT NULL,
|
||||
from_map_id TEXT NOT NULL,
|
||||
to_map_id TEXT NOT NULL,
|
||||
start_position_id TEXT NOT NULL,
|
||||
goal_position_id TEXT NOT NULL,
|
||||
mission_id TEXT NOT NULL,
|
||||
created_by TEXT NOT NULL DEFAULT '',
|
||||
created_at TEXT NOT NULL,
|
||||
updated_at TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS dashboards (
|
||||
id TEXT PRIMARY KEY,
|
||||
name TEXT NOT NULL,
|
||||
@@ -335,6 +350,51 @@ bool Database::applySchemaMigrations(std::string& err)
|
||||
setMeta("schema_version", "3");
|
||||
}
|
||||
|
||||
ver = getMeta("schema_version").value_or("1");
|
||||
if (ver == "3")
|
||||
{
|
||||
if (!tableHasColumn(db_, "sounds", "volume"))
|
||||
{
|
||||
if (!execSql(db_, "ALTER TABLE sounds ADD COLUMN volume INTEGER NOT NULL DEFAULT 100", err))
|
||||
return false;
|
||||
}
|
||||
if (!tableHasColumn(db_, "sounds", "is_system"))
|
||||
{
|
||||
if (!execSql(db_, "ALTER TABLE sounds ADD COLUMN is_system INTEGER NOT NULL DEFAULT 0", err))
|
||||
return false;
|
||||
}
|
||||
setMeta("schema_version", "4");
|
||||
}
|
||||
|
||||
ver = getMeta("schema_version").value_or("1");
|
||||
if (ver == "4")
|
||||
{
|
||||
if (!execSql(db_,
|
||||
"CREATE TABLE IF NOT EXISTS transitions ("
|
||||
"id TEXT PRIMARY KEY, "
|
||||
"site_id TEXT NOT NULL, "
|
||||
"from_map_id TEXT NOT NULL, "
|
||||
"to_map_id TEXT NOT NULL, "
|
||||
"start_position_id TEXT NOT NULL, "
|
||||
"goal_position_id TEXT NOT NULL, "
|
||||
"mission_id TEXT NOT NULL, "
|
||||
"created_by TEXT NOT NULL DEFAULT '', "
|
||||
"created_at TEXT NOT NULL, "
|
||||
"updated_at TEXT NOT NULL"
|
||||
")",
|
||||
err))
|
||||
return false;
|
||||
setMeta("schema_version", "5");
|
||||
}
|
||||
|
||||
ver = getMeta("schema_version").value_or("1");
|
||||
if (ver == "5")
|
||||
{
|
||||
if (!execSql(db_, "ALTER TABLE transitions ADD COLUMN created_by TEXT NOT NULL DEFAULT ''", err))
|
||||
return false;
|
||||
setMeta("schema_version", "6");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user