From c82d08cf11adc85c0c3edc91852c98c6069bf92c Mon Sep 17 00:00:00 2001 From: Akkadius Date: Sun, 26 Jan 2020 16:31:15 -0600 Subject: [PATCH] Make sure character soft deletes do not reserve name once deleted, add optional retro script to run for servers who had soft deletes running prior to this commit --- common/database.cpp | 1 + .../git/optional/2020_01_26_soft_delete_retro.sql | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 utils/sql/git/optional/2020_01_26_soft_delete_retro.sql diff --git a/common/database.cpp b/common/database.cpp index f6adc3659..ac5ae16bf 100644 --- a/common/database.cpp +++ b/common/database.cpp @@ -371,6 +371,7 @@ bool Database::DeleteCharacter(char *character_name) { UPDATE character_data SET + name = SUBSTRING(CONCAT(name, '-deleted-', UNIX_TIMESTAMP()), 1, 64), deleted_at = NOW() WHERE id = '{}' diff --git a/utils/sql/git/optional/2020_01_26_soft_delete_retro.sql b/utils/sql/git/optional/2020_01_26_soft_delete_retro.sql new file mode 100644 index 000000000..d3d0c7c4b --- /dev/null +++ b/utils/sql/git/optional/2020_01_26_soft_delete_retro.sql @@ -0,0 +1,12 @@ +-- Run this to un-reserve deleted characters +UPDATE + character_data +SET + name = SUBSTRING( + CONCAT(name, '-deleted-', UNIX_TIMESTAMP()), + 1, + 64 + ) +WHERE + deleted_at IS NOT NULL + AND name NOT LIKE '%-deleted-%'; \ No newline at end of file