[chuni] fix unique key constraint , fix #1

This commit is contained in:
samnyan
2020-01-19 23:08:59 +08:00
parent 342decb087
commit 20422b130f
9 changed files with 108 additions and 7 deletions

View File

@@ -0,0 +1,21 @@
ALTER TABLE `chuni_user_character`
ADD UNIQUE KEY `UK_chuni_user_character` (`user_id`, `character_id`);
ALTER TABLE `chuni_user_charge`
ADD UNIQUE KEY `UK_chuni_user_charge` (`user_id`, `charge_id`);
ALTER TABLE `chuni_user_course`
ADD UNIQUE KEY `UK_chuni_user_course` (`user_id`, `course_id`);
ALTER TABLE `chuni_user_duel`
ADD UNIQUE KEY `UK_chuni_user_duel` (`user_id`, `duel_id`);
ALTER TABLE `chuni_user_item`
ADD UNIQUE KEY `UK_chuni_user_item` (`user_id`, `item_id`, `item_kind`);
ALTER TABLE `chuni_user_map`
ADD UNIQUE KEY `UK_chuni_user_map` (`user_id`, `map_id`);
ALTER TABLE `chuni_user_music_detail`
ADD UNIQUE KEY `UK_chuni_user_music_detail` (`user_id`, `music_id`, `level`);

View File

@@ -0,0 +1,72 @@
CREATE TABLE chuni_user_music_detail_new (
id INTEGER,
full_chain INTEGER NOT NULL,
is_all_justice BOOLEAN NOT NULL,
is_full_combo BOOLEAN NOT NULL,
is_lock BOOLEAN NOT NULL,
is_success BOOLEAN NOT NULL,
level INTEGER NOT NULL,
max_chain INTEGER NOT NULL,
max_combo_count INTEGER NOT NULL,
miss_count INTEGER NOT NULL,
music_id INTEGER NOT NULL,
play_count INTEGER NOT NULL,
res_accept_count INTEGER NOT NULL,
res_request_count INTEGER NOT NULL,
res_success_count INTEGER NOT NULL,
score_max INTEGER NOT NULL,
score_rank INTEGER NOT NULL,
user_id BIGINT REFERENCES chuni_user_data (id) ON DELETE CASCADE,
PRIMARY KEY (
id
),
CONSTRAINT chuni_user_music_detail_uq UNIQUE (
level,
music_id,
user_id
)
);
INSERT INTO chuni_user_music_detail_new (
id,
full_chain,
is_all_justice,
is_full_combo,
is_lock,
is_success,
level,
max_chain,
max_combo_count,
miss_count,
music_id,
play_count,
res_accept_count,
res_request_count,
res_success_count,
score_max,
score_rank,
user_id
)
SELECT id,
full_chain,
is_all_justice,
is_full_combo,
is_lock,
is_success,
level,
max_chain,
max_combo_count,
miss_count,
music_id,
play_count,
res_accept_count,
res_request_count,
res_success_count,
score_max,
score_rank,
user_id
FROM chuni_user_music_detail;
ALTER TABLE chuni_user_music_detail RENAME TO bak_chuni_user_music_detail;
ALTER TABLE chuni_user_music_detail_new RENAME TO chuni_user_music_detail;