From ddcb5cd4d3b6225705590aa1426eb0034a2c20b9 Mon Sep 17 00:00:00 2001 From: Geometrically <18202329+Geometrically@users.noreply.github.com> Date: Thu, 9 Dec 2021 18:12:21 -0700 Subject: [PATCH] Fix game version ordering, fix deleting versions with deps not working (#265) --- sqlx-data.json | 52 ++++++++++++++++++----------- src/database/models/version_item.rs | 10 ++++++ 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/sqlx-data.json b/sqlx-data.json index ffe56aef..5dd3fb92 100644 --- a/sqlx-data.json +++ b/sqlx-data.json @@ -3060,6 +3060,26 @@ "nullable": [] } }, + "94ca18bf5244b0add2e6a12edfdc8d67159eed8c5afdf690f9b702faed249a4c": { + "query": "\n SELECT gv.version game_version\n FROM game_versions_versions gvv\n INNER JOIN game_versions gv on gvv.game_version_id = gv.id\n WHERE gvv.joining_version_id = $1\n ORDER BY gv.created\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "game_version", + "type_info": "Varchar" + } + ], + "parameters": { + "Left": [ + "Int8" + ] + }, + "nullable": [ + false + ] + } + }, "97690dda7edea8c985891cae5ad405f628ed81e333bc88df5493c928a4324d43": { "query": "SELECT EXISTS(SELECT 1 FROM reports WHERE id=$1)", "describe": { @@ -4148,6 +4168,18 @@ "nullable": [] } }, + "bd0d1da185dc7d21ccbbfde86fc093ce9eda7dd7e07f7a53882d427010fd58ca": { + "query": "\n DELETE FROM dependencies WHERE dependent_id = $1\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Int8" + ] + }, + "nullable": [] + } + }, "bdaab7da16d07169c29d96330fcc17ef2fb87fdfbadca23b7289c64420ac3a04": { "query": "\n SELECT id, user_id, role, permissions, accepted\n FROM team_members\n WHERE (team_id = $1 AND user_id = $2)\n ", "describe": { @@ -5189,26 +5221,6 @@ ] } }, - "dd785c80c372e6d199099e839a481a0cd63de8161a6acd41cf615a6818d1ae38": { - "query": "\n SELECT gv.version game_version\n FROM game_versions_versions gvv\n INNER JOIN game_versions gv on gvv.game_version_id = gv.id\n WHERE gvv.joining_version_id = $1\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "game_version", - "type_info": "Varchar" - } - ], - "parameters": { - "Left": [ - "Int8" - ] - }, - "nullable": [ - false - ] - } - }, "e29da865af4a0a110275b9756394546a3bb88bff40e18c66029651f515caed98": { "query": "\n SELECT f.id id FROM files f\n WHERE f.version_id = $1\n ", "describe": { diff --git a/src/database/models/version_item.rs b/src/database/models/version_item.rs index 6aba3087..1b7543a7 100644 --- a/src/database/models/version_item.rs +++ b/src/database/models/version_item.rs @@ -461,6 +461,15 @@ impl Version { .execute(&mut *transaction) .await?; + sqlx::query!( + " + DELETE FROM dependencies WHERE dependent_id = $1 + ", + id as VersionId, + ) + .execute(&mut *transaction) + .await?; + // delete version sqlx::query!( @@ -617,6 +626,7 @@ impl Version { FROM game_versions_versions gvv INNER JOIN game_versions gv on gvv.game_version_id = gv.id WHERE gvv.joining_version_id = $1 + ORDER BY gv.created ", id as VersionId, ).fetch_all(executor),