From 06d2998a929f524cf28309f6b82fd3311eccb35c Mon Sep 17 00:00:00 2001 From: ap4khomov Date: Thu, 1 Jul 2021 01:15:11 +0500 Subject: [PATCH] fix saving judge offset --- .../ongeki/model/userdata/UserOption.java | 2 + .../V38__fix_ongeki_user_option_table.sql | 2 + .../V38__fix_ongeki_user_option_table.sql | 119 ++++++++++++++++++ .../dao/userdata/OngekiRepositoryTest.java | 2 +- 4 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/db/migration/mysql/V38__fix_ongeki_user_option_table.sql create mode 100644 src/main/resources/db/migration/sqlite/V38__fix_ongeki_user_option_table.sql diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/userdata/UserOption.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/userdata/UserOption.java index b9822719..617b56c9 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/userdata/UserOption.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/userdata/UserOption.java @@ -38,6 +38,8 @@ public class UserOption implements Serializable { private int judgeTiming; + private int judgeAdjustment; + private int abort; private int tapSound; diff --git a/src/main/resources/db/migration/mysql/V38__fix_ongeki_user_option_table.sql b/src/main/resources/db/migration/mysql/V38__fix_ongeki_user_option_table.sql new file mode 100644 index 00000000..21572758 --- /dev/null +++ b/src/main/resources/db/migration/mysql/V38__fix_ongeki_user_option_table.sql @@ -0,0 +1,2 @@ +ALTER TABLE `ongeki_user_option` + ADD COLUMN `judge_adjustment` int(11) DEFAULT 20; \ No newline at end of file diff --git a/src/main/resources/db/migration/sqlite/V38__fix_ongeki_user_option_table.sql b/src/main/resources/db/migration/sqlite/V38__fix_ongeki_user_option_table.sql new file mode 100644 index 00000000..4d2d1006 --- /dev/null +++ b/src/main/resources/db/migration/sqlite/V38__fix_ongeki_user_option_table.sql @@ -0,0 +1,119 @@ +CREATE TABLE ongeki_user_option_new +( + id INTEGER, + "abort" INTEGER NOT NULL, + color_field INTEGER NOT NULL, + color_lane INTEGER NOT NULL, + color_lane_bright INTEGER NOT NULL, + color_side INTEGER NOT NULL, + dispbp INTEGER NOT NULL, + disp_player_lv INTEGER NOT NULL, + disp_rating INTEGER NOT NULL, + effect_damage INTEGER NOT NULL, + effect_pos INTEGER NOT NULL, + headphone INTEGER NOT NULL, + judge_break INTEGER NOT NULL, + judge_disp INTEGER NOT NULL, + judge_hit INTEGER NOT NULL, + judge_pos INTEGER NOT NULL, + judge_timing INTEGER NOT NULL, + judge_adjustment INTEGER NOT NULL, + matching INTEGER NOT NULL, + mirror INTEGER NOT NULL, + option_set INTEGER NOT NULL, + speed INTEGER NOT NULL, + tap_sound INTEGER NOT NULL, + vol_all INTEGER NOT NULL, + vol_bell INTEGER NOT NULL, + vol_cr_tap INTEGER NOT NULL, + vol_damage INTEGER NOT NULL, + vol_enemy INTEGER NOT NULL, + vol_flick INTEGER NOT NULL, + vol_guide INTEGER NOT NULL, + vol_hold INTEGER NOT NULL, + vol_side INTEGER NOT NULL, + vol_skill INTEGER NOT NULL, + vol_tap INTEGER NOT NULL, + user_id BIGINT REFERENCES ongeki_user_data (id) ON DELETE CASCADE + UNIQUE ON CONFLICT REPLACE, + PRIMARY KEY ( + id + ) +); + +INSERT INTO ongeki_user_option_new ( + id, + "abort", + color_field, + color_lane, + color_lane_bright, + color_side, + dispbp, + disp_player_lv, + disp_rating, + effect_damage, + effect_pos, + headphone, + judge_break, + judge_disp, + judge_hit, + judge_pos, + judge_timing, + matching, + mirror, + option_set, + speed, + tap_sound, + vol_all, + vol_bell, + vol_cr_tap, + vol_damage, + vol_enemy, + vol_flick, + vol_guide, + vol_hold, + vol_side, + vol_skill, + vol_tap, + user_id, + judge_adjustment +) +SELECT id, + "abort", + color_field, + color_lane, + color_lane_bright, + color_side, + dispbp, + disp_player_lv, + disp_rating, + effect_damage, + effect_pos, + headphone, + judge_break, + judge_disp, + judge_hit, + judge_pos, + judge_timing, + matching, + mirror, + option_set, + speed, + tap_sound, + vol_all, + vol_bell, + vol_cr_tap, + vol_damage, + vol_enemy, + vol_flick, + vol_guide, + vol_hold, + vol_side, + vol_skill, + vol_tap, + user_id, + 20 +FROM ongeki_user_option; + +ALTER TABLE ongeki_user_option RENAME TO bak_ongeki_user_option; +ALTER TABLE ongeki_user_option_new RENAME TO ongeki_user_option; \ No newline at end of file diff --git a/src/test/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/OngekiRepositoryTest.java b/src/test/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/OngekiRepositoryTest.java index 964f7d1b..830510c9 100644 --- a/src/test/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/OngekiRepositoryTest.java +++ b/src/test/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/OngekiRepositoryTest.java @@ -394,7 +394,7 @@ class OngekiRepositoryTest { } private UserOption getOption(UserData u) { - return new UserOption(-1, u, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); + return new UserOption(-1, u, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); } private UserPlaylog getPlaylog(UserData u, Integer musicId) {