From 52735c143247ff8e30a5128ad688be8f6b703128 Mon Sep 17 00:00:00 2001 From: Fabio1988 Date: Sun, 22 Mar 2026 12:38:33 +0100 Subject: [PATCH 1/3] fix: stats tables for ditto form --- sql/52_ditto_stats.up.sql | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 sql/52_ditto_stats.up.sql diff --git a/sql/52_ditto_stats.up.sql b/sql/52_ditto_stats.up.sql new file mode 100644 index 00000000..d52df64f --- /dev/null +++ b/sql/52_ditto_stats.up.sql @@ -0,0 +1,44 @@ +-- pokemon_stats +CREATE TEMPORARY TABLE tmp_merge AS +SELECT date, area, fence, pokemon_id, 0 AS form_id, SUM(count) AS count +FROM pokemon_stats WHERE pokemon_id = 132 +GROUP BY date, area, fence, pokemon_id; +DELETE FROM pokemon_stats WHERE pokemon_id = 132; +INSERT INTO pokemon_stats SELECT * FROM tmp_merge; +DROP TABLE IF EXISTS tmp_merge; + +-- pokemon_iv_stats +CREATE TEMPORARY TABLE tmp_merge AS +SELECT date, area, fence, pokemon_id, 0 AS form_id, SUM(count) AS count +FROM pokemon_iv_stats WHERE pokemon_id = 132 +GROUP BY date, area, fence, pokemon_id; +DELETE FROM pokemon_iv_stats WHERE pokemon_id = 132; +INSERT INTO pokemon_iv_stats SELECT * FROM tmp_merge; +DROP TABLE IF EXISTS tmp_merge; + +-- pokemon_hundo_stats +CREATE TEMPORARY TABLE tmp_merge AS +SELECT date, area, fence, pokemon_id, 0 AS form_id, SUM(count) AS count +FROM pokemon_hundo_stats WHERE pokemon_id = 132 +GROUP BY date, area, fence, pokemon_id; +DELETE FROM pokemon_hundo_stats WHERE pokemon_id = 132; +INSERT INTO pokemon_hundo_stats SELECT * FROM tmp_merge; +DROP TABLE IF EXISTS tmp_merge; + +-- pokemon_nundo_stats +CREATE TEMPORARY TABLE tmp_merge AS +SELECT date, area, fence, pokemon_id, 0 AS form_id, SUM(count) AS count +FROM pokemon_nundo_stats WHERE pokemon_id = 132 +GROUP BY date, area, fence, pokemon_id; +DELETE FROM pokemon_nundo_stats WHERE pokemon_id = 132; +INSERT INTO pokemon_nundo_stats SELECT * FROM tmp_merge; +DROP TABLE IF EXISTS tmp_merge; + +-- pokemon_shiny_stats +CREATE TEMPORARY TABLE tmp_merge AS +SELECT date, area, fence, pokemon_id, 0 AS form_id, SUM(count) AS count, SUM(total) AS total +FROM pokemon_shiny_stats WHERE pokemon_id = 132 +GROUP BY date, area, fence, pokemon_id; +DELETE FROM pokemon_shiny_stats WHERE pokemon_id = 132; +INSERT INTO pokemon_shiny_stats SELECT * FROM tmp_merge; +DROP TABLE IF EXISTS tmp_merge; From 6e70eb49800e314b04d24305e8a97b1b28d4fabf Mon Sep 17 00:00:00 2001 From: Fabio1988 Date: Sun, 22 Mar 2026 12:56:06 +0100 Subject: [PATCH 2/3] fix: remove temp table from migration --- sql/52_ditto_stats.up.sql | 65 ++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 35 deletions(-) diff --git a/sql/52_ditto_stats.up.sql b/sql/52_ditto_stats.up.sql index d52df64f..69836f42 100644 --- a/sql/52_ditto_stats.up.sql +++ b/sql/52_ditto_stats.up.sql @@ -1,44 +1,39 @@ -- pokemon_stats -CREATE TEMPORARY TABLE tmp_merge AS -SELECT date, area, fence, pokemon_id, 0 AS form_id, SUM(count) AS count -FROM pokemon_stats WHERE pokemon_id = 132 -GROUP BY date, area, fence, pokemon_id; -DELETE FROM pokemon_stats WHERE pokemon_id = 132; -INSERT INTO pokemon_stats SELECT * FROM tmp_merge; -DROP TABLE IF EXISTS tmp_merge; +INSERT INTO pokemon_stats (date, area, fence, pokemon_id, form_id, count) +SELECT date, area, fence, pokemon_id, 0, SUM(count) +FROM pokemon_stats WHERE pokemon_id = 132 AND form_id != 0 +GROUP BY date, area, fence, pokemon_id +ON DUPLICATE KEY UPDATE count = count + VALUES(count); +DELETE FROM pokemon_stats WHERE pokemon_id = 132 AND form_id != 0; -- pokemon_iv_stats -CREATE TEMPORARY TABLE tmp_merge AS -SELECT date, area, fence, pokemon_id, 0 AS form_id, SUM(count) AS count -FROM pokemon_iv_stats WHERE pokemon_id = 132 -GROUP BY date, area, fence, pokemon_id; -DELETE FROM pokemon_iv_stats WHERE pokemon_id = 132; -INSERT INTO pokemon_iv_stats SELECT * FROM tmp_merge; -DROP TABLE IF EXISTS tmp_merge; +INSERT INTO pokemon_iv_stats (date, area, fence, pokemon_id, form_id, count) +SELECT date, area, fence, pokemon_id, 0, SUM(count) +FROM pokemon_iv_stats WHERE pokemon_id = 132 AND form_id != 0 +GROUP BY date, area, fence, pokemon_id +ON DUPLICATE KEY UPDATE count = count + VALUES(count); +DELETE FROM pokemon_iv_stats WHERE pokemon_id = 132 AND form_id != 0; -- pokemon_hundo_stats -CREATE TEMPORARY TABLE tmp_merge AS -SELECT date, area, fence, pokemon_id, 0 AS form_id, SUM(count) AS count -FROM pokemon_hundo_stats WHERE pokemon_id = 132 -GROUP BY date, area, fence, pokemon_id; -DELETE FROM pokemon_hundo_stats WHERE pokemon_id = 132; -INSERT INTO pokemon_hundo_stats SELECT * FROM tmp_merge; -DROP TABLE IF EXISTS tmp_merge; +INSERT INTO pokemon_hundo_stats (date, area, fence, pokemon_id, form_id, count) +SELECT date, area, fence, pokemon_id, 0, SUM(count) +FROM pokemon_hundo_stats WHERE pokemon_id = 132 AND form_id != 0 +GROUP BY date, area, fence, pokemon_id +ON DUPLICATE KEY UPDATE count = count + VALUES(count); +DELETE FROM pokemon_hundo_stats WHERE pokemon_id = 132 AND form_id != 0; -- pokemon_nundo_stats -CREATE TEMPORARY TABLE tmp_merge AS -SELECT date, area, fence, pokemon_id, 0 AS form_id, SUM(count) AS count -FROM pokemon_nundo_stats WHERE pokemon_id = 132 -GROUP BY date, area, fence, pokemon_id; -DELETE FROM pokemon_nundo_stats WHERE pokemon_id = 132; -INSERT INTO pokemon_nundo_stats SELECT * FROM tmp_merge; -DROP TABLE IF EXISTS tmp_merge; +INSERT INTO pokemon_nundo_stats (date, area, fence, pokemon_id, form_id, count) +SELECT date, area, fence, pokemon_id, 0, SUM(count) +FROM pokemon_nundo_stats WHERE pokemon_id = 132 AND form_id != 0 +GROUP BY date, area, fence, pokemon_id +ON DUPLICATE KEY UPDATE count = count + VALUES(count); +DELETE FROM pokemon_nundo_stats WHERE pokemon_id = 132 AND form_id != 0; -- pokemon_shiny_stats -CREATE TEMPORARY TABLE tmp_merge AS -SELECT date, area, fence, pokemon_id, 0 AS form_id, SUM(count) AS count, SUM(total) AS total -FROM pokemon_shiny_stats WHERE pokemon_id = 132 -GROUP BY date, area, fence, pokemon_id; -DELETE FROM pokemon_shiny_stats WHERE pokemon_id = 132; -INSERT INTO pokemon_shiny_stats SELECT * FROM tmp_merge; -DROP TABLE IF EXISTS tmp_merge; +INSERT INTO pokemon_shiny_stats (date, area, fence, pokemon_id, form_id, count, total) +SELECT date, area, fence, pokemon_id, 0, SUM(count), SUM(total) +FROM pokemon_shiny_stats WHERE pokemon_id = 132 AND form_id != 0 +GROUP BY date, area, fence, pokemon_id +ON DUPLICATE KEY UPDATE count = count + VALUES(count), total = total + VALUES(total); +DELETE FROM pokemon_shiny_stats WHERE pokemon_id = 132 AND form_id != 0; From 848d4be7bfa259efbbfa85749cb220d4b365700e Mon Sep 17 00:00:00 2001 From: "Fabio S." <35898099+Fabio1988@users.noreply.github.com> Date: Tue, 24 Mar 2026 10:51:55 +0100 Subject: [PATCH 3/3] Add new migration file for ditto stats --- sql/{52_ditto_stats.up.sql => 53_ditto_stats.up.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sql/{52_ditto_stats.up.sql => 53_ditto_stats.up.sql} (100%) diff --git a/sql/52_ditto_stats.up.sql b/sql/53_ditto_stats.up.sql similarity index 100% rename from sql/52_ditto_stats.up.sql rename to sql/53_ditto_stats.up.sql