aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-03-21 17:08:48 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-03-21 17:08:48 +0100
commit420f9c87abe3a3480a2345cbad5ec427636b2cb5 (patch)
treedc69c5082315d14acf1f34efdbcb88bb5f13ff8f
parentrefactor(yt/storage/migrate): Factor out duplicated code into macro (diff)
downloadyt-420f9c87abe3a3480a2345cbad5ec427636b2cb5.zip
refactor(yt/storage/migrate/sql): Use predictable SQL paths
I.e. `<version_number>_<old_version_name>_to_<new_version_name>.sql`
Diffstat (limited to '')
-rw-r--r--yt/src/storage/migrate/mod.rs14
-rw-r--r--yt/src/storage/migrate/sql/0_Empty_to_Zero.sql (renamed from yt/src/storage/migrate/sql/00_empty_to_zero.sql)0
-rw-r--r--yt/src/storage/migrate/sql/1_Zero_to_One.sql (renamed from yt/src/storage/migrate/sql/01_zero_to_one.sql)0
-rw-r--r--yt/src/storage/migrate/sql/2_One_to_Two.sql (renamed from yt/src/storage/migrate/sql/02_one_to_two.sql)0
4 files changed, 8 insertions, 6 deletions
diff --git a/yt/src/storage/migrate/mod.rs b/yt/src/storage/migrate/mod.rs
index 50a080a..da6b0be 100644
--- a/yt/src/storage/migrate/mod.rs
+++ b/yt/src/storage/migrate/mod.rs
@@ -22,7 +22,7 @@ use sqlx::{Sqlite, SqlitePool, Transaction, query};
use crate::app::App;
macro_rules! make_upgrade {
- ($app:expr, $old_version:expr, $new_version:expr, $update_path:expr) => {
+ ($app:expr, $old_version:expr, $new_version:expr, $sql_name:expr) => {
add_error_context(
async {
let mut tx = $app
@@ -32,7 +32,7 @@ macro_rules! make_upgrade {
.context("Failed to start the update transaction")?;
debug!("Migrating: {} -> {}", $old_version, $new_version);
- sqlx::raw_sql(include_str!($update_path))
+ sqlx::raw_sql(include_str!($sql_name))
.execute(&mut *tx)
.await
.context("Failed to run the update sql script")?;
@@ -127,12 +127,14 @@ async fn set_db_version(
impl DbVersion {
fn as_sql_integer(self) -> i32 {
match self {
- DbVersion::Empty => unreachable!("A empty version does not have an associated integer"),
DbVersion::Zero => 0,
DbVersion::One => 1,
DbVersion::Two => 2,
+
+ DbVersion::Empty => unreachable!("A empty version does not have an associated integer"),
}
}
+
fn from_db(number: i64, namespace: &str) -> Result<Self> {
match (number, namespace) {
(0, "yt") => Ok(DbVersion::Zero),
@@ -156,15 +158,15 @@ impl DbVersion {
async fn update(self, app: &App) -> Result<()> {
match self {
Self::Empty => {
- make_upgrade! {app, Self::Empty, Self::Zero, "./sql/00_empty_to_zero.sql"}
+ make_upgrade! {app, Self::Empty, Self::Zero, "./sql/0_Empty_to_Zero.sql"}
}
Self::Zero => {
- make_upgrade! {app, Self::Zero, Self::One, "./sql/01_zero_to_one.sql"}
+ make_upgrade! {app, Self::Zero, Self::One, "./sql/1_Zero_to_One.sql"}
}
Self::One => {
- make_upgrade! {app, Self::One, Self::Two, "./sql/02_one_to_two.sql"}
+ make_upgrade! {app, Self::One, Self::Two, "./sql/2_One_to_Two.sql"}
}
// This is the current_version
diff --git a/yt/src/storage/migrate/sql/00_empty_to_zero.sql b/yt/src/storage/migrate/sql/0_Empty_to_Zero.sql
index d703bfc..d703bfc 100644
--- a/yt/src/storage/migrate/sql/00_empty_to_zero.sql
+++ b/yt/src/storage/migrate/sql/0_Empty_to_Zero.sql
diff --git a/yt/src/storage/migrate/sql/01_zero_to_one.sql b/yt/src/storage/migrate/sql/1_Zero_to_One.sql
index da9315b..da9315b 100644
--- a/yt/src/storage/migrate/sql/01_zero_to_one.sql
+++ b/yt/src/storage/migrate/sql/1_Zero_to_One.sql
diff --git a/yt/src/storage/migrate/sql/02_one_to_two.sql b/yt/src/storage/migrate/sql/2_One_to_Two.sql
index 806de07..806de07 100644
--- a/yt/src/storage/migrate/sql/02_one_to_two.sql
+++ b/yt/src/storage/migrate/sql/2_One_to_Two.sql