Add version to controller in db

This commit is contained in:
Tobias Reisinger 2026-09-02 01:31:55 +02:00
commit 9a9192213a
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
11 changed files with 57 additions and 19 deletions

View file

@ -27,6 +27,11 @@
"name": "active",
"ordinal": 4,
"type_info": "Bool"
},
{
"name": "version",
"ordinal": 5,
"type_info": "Text"
}
],
"parameters": {
@ -37,6 +42,7 @@
false,
false,
false,
false,
false
]
},

View file

@ -27,6 +27,11 @@
"name": "active",
"ordinal": 4,
"type_info": "Bool"
},
{
"name": "version",
"ordinal": 5,
"type_info": "Text"
}
],
"parameters": {
@ -37,6 +42,7 @@
false,
false,
false,
false,
false
]
},

View file

@ -0,0 +1,12 @@
{
"db_name": "SQLite",
"query": "UPDATE controllers SET name = ?, relay_count = ?, version = ? WHERE id = ?",
"describe": {
"columns": [],
"parameters": {
"Right": 4
},
"nullable": []
},
"hash": "b5712e484219de8a3975302168262d61184a43695969a856de3a70a08abb0775"
}

View file

@ -27,6 +27,11 @@
"name": "active",
"ordinal": 4,
"type_info": "Bool"
},
{
"name": "version",
"ordinal": 5,
"type_info": "Text"
}
],
"parameters": {
@ -37,6 +42,7 @@
false,
false,
false,
false,
false
]
},

View file

@ -27,6 +27,11 @@
"name": "active",
"ordinal": 4,
"type_info": "Bool"
},
{
"name": "version",
"ordinal": 5,
"type_info": "Text"
}
],
"parameters": {
@ -37,6 +42,7 @@
false,
false,
false,
false,
false
]
},

View file

@ -1,12 +0,0 @@
{
"db_name": "SQLite",
"query": "UPDATE controllers SET name = ?, relay_count = ? WHERE id = ?",
"describe": {
"columns": [],
"parameters": {
"Right": 3
},
"nullable": []
},
"hash": "f7b90a6a0af3f7d7c96158f96f1ada06827a0e5a2d2dbd48bfb8e04f973a6131"
}

View file

@ -1,6 +1,6 @@
{
"db_name": "SQLite",
"query": "INSERT INTO controllers (uid, name, relay_count) VALUES (?, ?, ?) RETURNING *",
"query": "INSERT INTO controllers (uid, name, relay_count, version) VALUES (?, ?, ?, ?) RETURNING *",
"describe": {
"columns": [
{
@ -27,18 +27,24 @@
"name": "active",
"ordinal": 4,
"type_info": "Bool"
},
{
"name": "version",
"ordinal": 5,
"type_info": "Text"
}
],
"parameters": {
"Right": 3
"Right": 4
},
"nullable": [
false,
false,
false,
false,
false,
false
]
},
"hash": "cdcae4768f7b62390e5e5da850e301b502ffd56dd88485cd73b694f6559ccd4e"
"hash": "fa4c9ab4f5af31afb3fa968d6c5062acca7388316e5aa9f2723960fb29336b20"
}

View file

@ -0,0 +1 @@
ALTER TABLE controllers DROP COLUMN version TEXT;

View file

@ -0,0 +1 @@
ALTER TABLE controllers ADD COLUMN version TEXT NOT NULL DEFAULT '0.0.0';

View file

@ -17,6 +17,7 @@ pub struct DbController {
pub name: String,
pub relay_count: i64,
pub active: bool,
pub version: String,
}
impl DbController {
@ -58,10 +59,11 @@ impl DbController {
uid: &EmgauwaUid,
new_name: &str,
new_relay_count: i64,
new_version: &str,
) -> Result<DbController, DatabaseError> {
match DbController::get_by_uid(conn, uid).await? {
Some(tag) => Ok(tag),
None => DbController::create(conn, uid, new_name, new_relay_count).await,
None => DbController::create(conn, uid, new_name, new_relay_count, new_version).await,
}
}
@ -102,13 +104,15 @@ impl DbController {
new_uid: &EmgauwaUid,
new_name: &str,
new_relay_count: i64,
new_version: &str,
) -> Result<DbController, DatabaseError> {
sqlx::query_as!(
DbController,
"INSERT INTO controllers (uid, name, relay_count) VALUES (?, ?, ?) RETURNING *",
"INSERT INTO controllers (uid, name, relay_count, version) VALUES (?, ?, ?, ?) RETURNING *",
new_uid,
new_name,
new_relay_count,
new_version,
)
.fetch_optional(conn.deref_mut())
.await?
@ -120,11 +124,13 @@ impl DbController {
conn: &mut PoolConnection<Sqlite>,
new_name: &str,
new_relay_count: i64,
new_version: &str,
) -> Result<DbController, DatabaseError> {
sqlx::query!(
"UPDATE controllers SET name = ?, relay_count = ? WHERE id = ?",
"UPDATE controllers SET name = ?, relay_count = ?, version = ? WHERE id = ?",
new_name,
new_relay_count,
new_version,
self.id,
)
.execute(conn.deref_mut())