Made certain strings less ugly.
This commit is contained in:
parent
cc37b7cad3
commit
7bf9a7eedd
17 changed files with 273 additions and 249 deletions
database
2023_01_07_023235_initial_structure_ndx.php2023_04_30_001226_create_topic_redirs_table.php2023_07_21_121854_update_user_agent_storage.php2023_07_24_201010_add_moderator_notes_table.php2023_07_26_175936_add_new_bans_table.php2023_07_26_210150_redo_warnings_table.php2023_07_28_212101_create_counters_table.php2023_08_03_114403_update_collations_in_various_tables.php2023_08_30_213930_new_permissions_system.php2024_01_30_233734_create_messages_table.php2024_06_02_194809_base_sixty_four_encode_pms_in_db.php
|
@ -22,7 +22,7 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
return;
|
||||
}
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_roles (
|
||||
role_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
role_hierarchy INT(11) NOT NULL DEFAULT 1,
|
||||
|
@ -37,9 +37,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
KEY roles_hierarchy_index (role_hierarchy),
|
||||
KEY roles_hidden_index (role_hidden)
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_users (
|
||||
user_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
username VARCHAR(255) NOT NULL,
|
||||
|
@ -48,7 +48,7 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
register_ip VARBINARY(16) NOT NULL,
|
||||
last_ip VARBINARY(16) NOT NULL,
|
||||
user_super TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
|
||||
user_country CHAR(2) NOT NULL DEFAULT \'XX\',
|
||||
user_country CHAR(2) NOT NULL DEFAULT 'XX',
|
||||
user_colour INT(11) DEFAULT NULL,
|
||||
user_created TIMESTAMP NOT NULL DEFAULT current_timestamp(),
|
||||
user_active TIMESTAMP NULL DEFAULT NULL,
|
||||
|
@ -73,16 +73,16 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_audit_log (
|
||||
user_id INT(10) UNSIGNED DEFAULT NULL,
|
||||
log_action VARCHAR(50) NOT NULL,
|
||||
log_params TEXT NOT NULL,
|
||||
log_created TIMESTAMP NOT NULL DEFAULT current_timestamp(),
|
||||
log_ip VARBINARY(16) DEFAULT NULL,
|
||||
log_country CHAR(2) NOT NULL DEFAULT \'XX\',
|
||||
log_country CHAR(2) NOT NULL DEFAULT 'XX',
|
||||
KEY audit_log_user_id_foreign (user_id),
|
||||
KEY audit_log_created_index (log_created),
|
||||
CONSTRAINT audit_log_user_id_foreign
|
||||
|
@ -91,9 +91,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_auth_tfa (
|
||||
user_id INT(10) UNSIGNED NOT NULL,
|
||||
tfa_token CHAR(32) NOT NULL,
|
||||
|
@ -107,9 +107,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_changelog_changes (
|
||||
change_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
user_id INT(10) UNSIGNED DEFAULT NULL,
|
||||
|
@ -127,9 +127,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_changelog_tags (
|
||||
tag_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
tag_name VARCHAR(255) NOT NULL,
|
||||
|
@ -140,9 +140,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
UNIQUE KEY tag_name (tag_name),
|
||||
KEY tag_archived (tag_archived)
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_changelog_change_tags (
|
||||
change_id INT(10) UNSIGNED NOT NULL,
|
||||
tag_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -159,9 +159,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_comments_categories (
|
||||
category_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
category_name VARCHAR(255) NOT NULL,
|
||||
|
@ -178,9 +178,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_comments_posts (
|
||||
comment_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
category_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -207,9 +207,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_comments_votes (
|
||||
comment_id INT(10) UNSIGNED NOT NULL,
|
||||
user_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -228,17 +228,17 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_config (
|
||||
config_name varchar(100) NOT NULL,
|
||||
config_value blob NOT NULL DEFAULT \'\',
|
||||
config_value blob NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (config_name)
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_emoticons (
|
||||
emote_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
emote_order MEDIUMINT(9) NOT NULL DEFAULT 0,
|
||||
|
@ -249,9 +249,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
KEY emotes_order (emote_order),
|
||||
KEY emotes_hierarchy (emote_hierarchy)
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_emoticons_strings (
|
||||
emote_id INT(10) UNSIGNED NOT NULL,
|
||||
emote_string_order MEDIUMINT(9) NOT NULL DEFAULT 0,
|
||||
|
@ -265,9 +265,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_forum_categories (
|
||||
forum_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
forum_order INT(10) UNSIGNED NOT NULL DEFAULT 1,
|
||||
|
@ -291,9 +291,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
KEY forum_link_clicks_index (forum_link_clicks),
|
||||
KEY forum_hidden_index (forum_hidden)
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_forum_permissions (
|
||||
user_id INT(10) UNSIGNED DEFAULT NULL,
|
||||
role_id INT(10) UNSIGNED DEFAULT NULL,
|
||||
|
@ -319,9 +319,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_forum_topics (
|
||||
topic_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
forum_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -353,9 +353,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_forum_topics_track (
|
||||
user_id INT(10) UNSIGNED NOT NULL,
|
||||
topic_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -382,9 +382,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_forum_posts (
|
||||
post_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
topic_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -424,16 +424,16 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_login_attempts (
|
||||
user_id INT(10) UNSIGNED DEFAULT NULL,
|
||||
attempt_success TINYINT(1) NOT NULL,
|
||||
attempt_ip VARBINARY(16) NOT NULL,
|
||||
attempt_country CHAR(2) NOT NULL DEFAULT \'XX\',
|
||||
attempt_country CHAR(2) NOT NULL DEFAULT 'XX',
|
||||
attempt_created TIMESTAMP NOT NULL DEFAULT current_timestamp(),
|
||||
attempt_user_agent VARCHAR(255) NOT NULL DEFAULT \'\',
|
||||
attempt_user_agent VARCHAR(255) NOT NULL DEFAULT '',
|
||||
KEY login_attempts_user_id_foreign (user_id),
|
||||
KEY login_attempts_created_index (attempt_created),
|
||||
KEY login_attempts_success_index (attempt_success),
|
||||
|
@ -444,9 +444,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_news_categories (
|
||||
category_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
category_name VARCHAR(255) NOT NULL,
|
||||
|
@ -456,9 +456,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
PRIMARY KEY (category_id),
|
||||
KEY news_categories_is_hidden_index (category_is_hidden)
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_news_posts (
|
||||
post_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
category_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -497,9 +497,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_permissions (
|
||||
user_id INT(10) UNSIGNED DEFAULT NULL,
|
||||
role_id INT(10) UNSIGNED DEFAULT NULL,
|
||||
|
@ -528,9 +528,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_profile_fields (
|
||||
field_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
field_order INT(11) NOT NULL DEFAULT 0,
|
||||
|
@ -541,15 +541,15 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
UNIQUE KEY profile_fields_key_unique (field_key),
|
||||
KEY profile_fields_order_key (field_order)
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_profile_fields_formats (
|
||||
format_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
field_id INT(10) UNSIGNED NOT NULL DEFAULT 0,
|
||||
format_regex VARCHAR(255) DEFAULT NULL,
|
||||
format_link VARCHAR(255) DEFAULT NULL,
|
||||
format_display VARCHAR(255) NOT NULL DEFAULT \'%s\',
|
||||
format_display VARCHAR(255) NOT NULL DEFAULT '%s',
|
||||
PRIMARY KEY (format_id),
|
||||
KEY profile_field_format_field_foreign (field_id),
|
||||
CONSTRAINT profile_field_format_field_foreign
|
||||
|
@ -558,9 +558,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_profile_fields_values (
|
||||
field_id INT(10) UNSIGNED NOT NULL,
|
||||
user_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -586,9 +586,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_sessions (
|
||||
session_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
user_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -596,7 +596,7 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
session_ip VARBINARY(16) NOT NULL,
|
||||
session_ip_last VARBINARY(16) DEFAULT NULL,
|
||||
session_user_agent VARCHAR(255) NOT NULL,
|
||||
session_country CHAR(2) NOT NULL DEFAULT \'XX\',
|
||||
session_country CHAR(2) NOT NULL DEFAULT 'XX',
|
||||
session_expires TIMESTAMP NOT NULL DEFAULT (current_timestamp() + INTERVAL 1 MONTH),
|
||||
session_expires_bump TINYINT(3) UNSIGNED NOT NULL DEFAULT 1,
|
||||
session_created TIMESTAMP NOT NULL DEFAULT current_timestamp(),
|
||||
|
@ -612,9 +612,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_users_password_resets (
|
||||
user_id INT(10) UNSIGNED NOT NULL,
|
||||
reset_ip VARBINARY(16) NOT NULL,
|
||||
|
@ -629,9 +629,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_user_roles (
|
||||
user_id INT(10) UNSIGNED NOT NULL,
|
||||
role_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -648,9 +648,9 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_user_warnings (
|
||||
warning_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
user_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -680,6 +680,6 @@ final class InitialStructureNdx_20230107_023235 implements DbMigration {
|
|||
ON DELETE CASCADE
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ use Index\Db\Migration\DbMigration;
|
|||
|
||||
final class CreateTopicRedirsTable_20230430_001226 implements DbMigration {
|
||||
public function migrate(DbConnection $conn): void {
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_forum_topics_redirects (
|
||||
topic_id INT(10) UNSIGNED NOT NULL,
|
||||
user_id INT(10) UNSIGNED NULL DEFAULT NULL,
|
||||
|
@ -18,6 +18,6 @@ final class CreateTopicRedirsTable_20230430_001226 implements DbMigration {
|
|||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,16 +6,16 @@ use Misuzu\ClientInfo;
|
|||
final class UpdateUserAgentStorage_20230721_121854 implements DbMigration {
|
||||
public function migrate(DbConnection $conn): void {
|
||||
// convert user agent fields to BLOB and add field for client info storage
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_login_attempts
|
||||
CHANGE COLUMN attempt_user_agent attempt_user_agent TEXT NOT NULL COLLATE "utf8mb4_bin" AFTER attempt_created,
|
||||
CHANGE COLUMN attempt_user_agent attempt_user_agent TEXT NOT NULL COLLATE 'utf8mb4_bin' AFTER attempt_created,
|
||||
ADD COLUMN attempt_client_info TEXT NULL DEFAULT NULL AFTER attempt_user_agent
|
||||
');
|
||||
$conn->execute('
|
||||
SQL);
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_sessions
|
||||
CHANGE column session_user_agent session_user_agent TEXT NOT NULL COLLATE "utf8mb4_bin" AFTER session_ip_last,
|
||||
CHANGE column session_user_agent session_user_agent TEXT NOT NULL COLLATE 'utf8mb4_bin' AFTER session_ip_last,
|
||||
ADD COLUMN session_client_info TEXT NULL DEFAULT NULL AFTER session_user_agent
|
||||
');
|
||||
SQL);
|
||||
|
||||
// make sure all existing fields have client info fields filled
|
||||
$updateLoginAttempts = $conn->prepare('UPDATE msz_login_attempts SET attempt_client_info = ? WHERE attempt_user_agent = ?');
|
||||
|
@ -39,13 +39,13 @@ final class UpdateUserAgentStorage_20230721_121854 implements DbMigration {
|
|||
}
|
||||
|
||||
// make client info fields NOT NULL
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_login_attempts
|
||||
CHANGE COLUMN attempt_client_info attempt_client_info TEXT NOT NULL COLLATE "utf8mb4_bin" AFTER attempt_user_agent
|
||||
');
|
||||
$conn->execute('
|
||||
CHANGE COLUMN attempt_client_info attempt_client_info TEXT NOT NULL COLLATE 'utf8mb4_bin' AFTER attempt_user_agent
|
||||
SQL);
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_sessions
|
||||
CHANGE COLUMN session_client_info session_client_info TEXT NOT NULL COLLATE "utf8mb4_bin" AFTER session_user_agent
|
||||
');
|
||||
CHANGE COLUMN session_client_info session_client_info TEXT NOT NULL COLLATE 'utf8mb4_bin' AFTER session_user_agent
|
||||
SQL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ use Index\Db\Migration\DbMigration;
|
|||
|
||||
final class AddModeratorNotesTable_20230724_201010 implements DbMigration {
|
||||
public function migrate(DbConnection $conn): void {
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_users_modnotes (
|
||||
note_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
user_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -27,15 +27,15 @@ final class AddModeratorNotesTable_20230724_201010 implements DbMigration {
|
|||
ON UPDATE CASCADE
|
||||
ON DELETE SET NULL
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin
|
||||
');
|
||||
SQL);
|
||||
|
||||
// migrate existing notes
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
INSERT INTO msz_users_modnotes (user_id, author_id, note_created, note_title, note_body)
|
||||
SELECT user_id, issuer_id, warning_created, warning_note, COALESCE(warning_note_private, "")
|
||||
SELECT user_id, issuer_id, warning_created, warning_note, COALESCE(warning_note_private, '')
|
||||
FROM msz_user_warnings
|
||||
WHERE warning_type = 0
|
||||
');
|
||||
SQL);
|
||||
|
||||
// delete notes from the warnings table
|
||||
$conn->execute('DELETE FROM msz_user_warnings WHERE warning_type = 0');
|
||||
|
|
|
@ -4,7 +4,7 @@ use Index\Db\Migration\DbMigration;
|
|||
|
||||
final class AddNewBansTable_20230726_175936 implements DbMigration {
|
||||
public function migrate(DbConnection $conn): void {
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_users_bans (
|
||||
ban_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
user_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -31,14 +31,14 @@ final class AddNewBansTable_20230726_175936 implements DbMigration {
|
|||
ON UPDATE CASCADE
|
||||
ON DELETE SET NULL
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
INSERT INTO msz_users_bans (user_id, mod_id, ban_severity, ban_reason_public, ban_reason_private, ban_created, ban_expires)
|
||||
SELECT user_id, issuer_id, 0, warning_note, COALESCE(warning_note_private, ""), warning_created, warning_duration
|
||||
FROM msz_user_warnings
|
||||
WHERE warning_type = 3
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('DELETE FROM msz_user_warnings WHERE warning_type = 3');
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ use Index\Db\Migration\DbMigration;
|
|||
|
||||
final class RedoWarningsTable_20230726_210150 implements DbMigration {
|
||||
public function migrate(DbConnection $conn): void {
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_users_warnings (
|
||||
warn_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
user_id INT(10) UNSIGNED NOT NULL,
|
||||
|
@ -26,16 +26,16 @@ final class RedoWarningsTable_20230726_210150 implements DbMigration {
|
|||
ON UPDATE CASCADE
|
||||
ON DELETE SET NULL
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin
|
||||
');
|
||||
SQL);
|
||||
|
||||
// migrate existing warnings, public and private note have been merged but that's fine in prod
|
||||
// still specifying type = 1 as well even though that should be the only type remaining
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
INSERT INTO msz_users_warnings (user_id, mod_id, warn_body, warn_created)
|
||||
SELECT user_id, issuer_id, TRIM(CONCAT(COALESCE(warning_note, ""), "\n", COALESCE(warning_note_private, ""))), warning_created
|
||||
SELECT user_id, issuer_id, TRIM(CONCAT(COALESCE(warning_note, ''), "\n", COALESCE(warning_note_private, ''))), warning_created
|
||||
FROM msz_user_warnings
|
||||
WHERE warning_type = 1
|
||||
');
|
||||
SQL);
|
||||
|
||||
// drop the old table with non-plural "user"
|
||||
$conn->execute('DROP TABLE msz_user_warnings');
|
||||
|
|
|
@ -4,13 +4,13 @@ use Index\Db\Migration\DbMigration;
|
|||
|
||||
final class CreateCountersTable_20230728_212101 implements DbMigration {
|
||||
public function migrate(DbConnection $conn): void {
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_counters (
|
||||
counter_name VARBINARY(64) NOT NULL,
|
||||
counter_value BIGINT(20) NOT NULL DEFAULT "0",
|
||||
counter_value BIGINT(20) NOT NULL DEFAULT '0',
|
||||
counter_updated TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||||
PRIMARY KEY (counter_name)
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin
|
||||
');
|
||||
SQL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,159 +4,159 @@ use Index\Db\Migration\DbMigration;
|
|||
|
||||
final class UpdateCollationsInVariousTables_20230803_114403 implements DbMigration {
|
||||
public function migrate(DbConnection $conn): void {
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_audit_log
|
||||
CHANGE COLUMN log_action log_action VARCHAR(50) NOT NULL COLLATE "ascii_general_ci" AFTER user_id,
|
||||
CHANGE COLUMN log_country log_country CHAR(2) NOT NULL DEFAULT "XX" COLLATE "ascii_general_ci" AFTER log_ip;
|
||||
');
|
||||
CHANGE COLUMN log_action log_action VARCHAR(50) NOT NULL COLLATE 'ascii_general_ci' AFTER user_id,
|
||||
CHANGE COLUMN log_country log_country CHAR(2) NOT NULL DEFAULT 'XX' COLLATE 'ascii_general_ci' AFTER log_ip;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_auth_tfa
|
||||
CHANGE COLUMN tfa_token tfa_token CHAR(32) NOT NULL COLLATE "ascii_bin" AFTER user_id;
|
||||
');
|
||||
CHANGE COLUMN tfa_token tfa_token CHAR(32) NOT NULL COLLATE 'ascii_bin' AFTER user_id;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_changelog_changes
|
||||
CHANGE COLUMN change_log change_log VARCHAR(255) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER change_created,
|
||||
CHANGE COLUMN change_text change_text TEXT NULL DEFAULT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER change_log;
|
||||
');
|
||||
CHANGE COLUMN change_log change_log VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER change_created,
|
||||
CHANGE COLUMN change_text change_text TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER change_log;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_changelog_tags
|
||||
CHANGE COLUMN tag_name tag_name VARCHAR(255) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER tag_id,
|
||||
CHANGE COLUMN tag_description tag_description TEXT NULL DEFAULT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER tag_name;
|
||||
');
|
||||
CHANGE COLUMN tag_name tag_name VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER tag_id,
|
||||
CHANGE COLUMN tag_description tag_description TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER tag_name;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_comments_categories
|
||||
CHANGE COLUMN category_name category_name VARCHAR(255) NOT NULL COLLATE "ascii_bin" AFTER category_id;
|
||||
');
|
||||
CHANGE COLUMN category_name category_name VARCHAR(255) NOT NULL COLLATE 'ascii_bin' AFTER category_id;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_comments_posts
|
||||
CHANGE COLUMN comment_text comment_text TEXT NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER comment_reply_to;
|
||||
');
|
||||
CHANGE COLUMN comment_text comment_text TEXT NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER comment_reply_to;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_config
|
||||
CHANGE COLUMN config_name config_name VARCHAR(100) NOT NULL COLLATE "ascii_general_ci" FIRST;
|
||||
');
|
||||
CHANGE COLUMN config_name config_name VARCHAR(100) NOT NULL COLLATE 'ascii_general_ci' FIRST;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_emoticons
|
||||
CHANGE COLUMN emote_url emote_url VARCHAR(255) NOT NULL COLLATE "ascii_bin" AFTER emote_hierarchy;
|
||||
');
|
||||
CHANGE COLUMN emote_url emote_url VARCHAR(255) NOT NULL COLLATE 'ascii_bin' AFTER emote_hierarchy;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_emoticons_strings
|
||||
CHANGE COLUMN emote_string emote_string VARCHAR(50) NOT NULL COLLATE "ascii_general_ci" AFTER emote_string_order;
|
||||
');
|
||||
CHANGE COLUMN emote_string emote_string VARCHAR(50) NOT NULL COLLATE 'ascii_general_ci' AFTER emote_string_order;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_forum_categories
|
||||
CHANGE COLUMN forum_name forum_name VARCHAR(255) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER forum_parent,
|
||||
CHANGE COLUMN forum_description forum_description TEXT NULL DEFAULT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER forum_type,
|
||||
CHANGE COLUMN forum_icon forum_icon VARCHAR(50) NULL DEFAULT NULL COLLATE "ascii_bin" AFTER forum_description,
|
||||
CHANGE COLUMN forum_link forum_link VARCHAR(255) NULL DEFAULT NULL COLLATE "ascii_bin" AFTER forum_colour;
|
||||
');
|
||||
CHANGE COLUMN forum_name forum_name VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER forum_parent,
|
||||
CHANGE COLUMN forum_description forum_description TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER forum_type,
|
||||
CHANGE COLUMN forum_icon forum_icon VARCHAR(50) NULL DEFAULT NULL COLLATE 'ascii_bin' AFTER forum_description,
|
||||
CHANGE COLUMN forum_link forum_link VARCHAR(255) NULL DEFAULT NULL COLLATE 'ascii_bin' AFTER forum_colour;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_forum_posts
|
||||
CHANGE COLUMN post_text post_text MEDIUMTEXT NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER post_ip;
|
||||
');
|
||||
CHANGE COLUMN post_text post_text MEDIUMTEXT NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER post_ip;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_forum_topics
|
||||
CHANGE COLUMN topic_title topic_title VARCHAR(255) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER topic_type;
|
||||
');
|
||||
CHANGE COLUMN topic_title topic_title VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER topic_type;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_forum_topics_redirects
|
||||
CHANGE COLUMN topic_redir_url topic_redir_url VARCHAR(255) NOT NULL COLLATE "ascii_bin" AFTER user_id;
|
||||
');
|
||||
CHANGE COLUMN topic_redir_url topic_redir_url VARCHAR(255) NOT NULL COLLATE 'ascii_bin' AFTER user_id;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_login_attempts
|
||||
CHANGE COLUMN attempt_country attempt_country CHAR(2) NOT NULL DEFAULT "XX" COLLATE "ascii_general_ci" AFTER attempt_ip,
|
||||
CHANGE COLUMN attempt_user_agent attempt_user_agent TEXT NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER attempt_created;
|
||||
');
|
||||
CHANGE COLUMN attempt_country attempt_country CHAR(2) NOT NULL DEFAULT 'XX' COLLATE 'ascii_general_ci' AFTER attempt_ip,
|
||||
CHANGE COLUMN attempt_user_agent attempt_user_agent TEXT NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER attempt_created;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_news_categories
|
||||
CHANGE COLUMN category_name category_name VARCHAR(255) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER category_id,
|
||||
CHANGE COLUMN category_description category_description TEXT NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER category_name;
|
||||
');
|
||||
CHANGE COLUMN category_name category_name VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER category_id,
|
||||
CHANGE COLUMN category_description category_description TEXT NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER category_name;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_news_posts
|
||||
CHANGE COLUMN post_title post_title VARCHAR(255) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER post_is_featured,
|
||||
CHANGE COLUMN post_text post_text TEXT NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER post_title;
|
||||
');
|
||||
CHANGE COLUMN post_title post_title VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER post_is_featured,
|
||||
CHANGE COLUMN post_text post_text TEXT NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER post_title;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_profile_fields
|
||||
CHANGE COLUMN field_key field_key VARCHAR(50) NOT NULL COLLATE "ascii_general_ci" AFTER field_order,
|
||||
CHANGE COLUMN field_title field_title VARCHAR(50) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER field_key,
|
||||
CHANGE COLUMN field_regex field_regex VARCHAR(255) NOT NULL COLLATE "ascii_bin" AFTER field_title;
|
||||
');
|
||||
CHANGE COLUMN field_key field_key VARCHAR(50) NOT NULL COLLATE 'ascii_general_ci' AFTER field_order,
|
||||
CHANGE COLUMN field_title field_title VARCHAR(50) NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER field_key,
|
||||
CHANGE COLUMN field_regex field_regex VARCHAR(255) NOT NULL COLLATE 'ascii_bin' AFTER field_title;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_profile_fields_formats
|
||||
CHANGE COLUMN format_regex format_regex VARCHAR(255) NULL DEFAULT NULL COLLATE "ascii_bin" AFTER field_id,
|
||||
CHANGE COLUMN format_link format_link VARCHAR(255) NULL DEFAULT NULL COLLATE "ascii_bin" AFTER format_regex,
|
||||
CHANGE COLUMN format_display format_display VARCHAR(255) NOT NULL DEFAULT "%s" COLLATE "utf8mb4_unicode_520_ci" AFTER format_link;
|
||||
');
|
||||
CHANGE COLUMN format_regex format_regex VARCHAR(255) NULL DEFAULT NULL COLLATE 'ascii_bin' AFTER field_id,
|
||||
CHANGE COLUMN format_link format_link VARCHAR(255) NULL DEFAULT NULL COLLATE 'ascii_bin' AFTER format_regex,
|
||||
CHANGE COLUMN format_display format_display VARCHAR(255) NOT NULL DEFAULT '%s' COLLATE 'utf8mb4_unicode_520_ci' AFTER format_link;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_profile_fields_values
|
||||
CHANGE COLUMN field_value field_value VARCHAR(255) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER format_id;
|
||||
');
|
||||
CHANGE COLUMN field_value field_value VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER format_id;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_roles
|
||||
CHANGE COLUMN role_name role_name VARCHAR(255) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER role_hierarchy,
|
||||
CHANGE COLUMN role_title role_title VARCHAR(64) NULL DEFAULT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER role_name,
|
||||
CHANGE COLUMN role_description role_description TEXT NULL DEFAULT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER role_title;
|
||||
');
|
||||
CHANGE COLUMN role_name role_name VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER role_hierarchy,
|
||||
CHANGE COLUMN role_title role_title VARCHAR(64) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER role_name,
|
||||
CHANGE COLUMN role_description role_description TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER role_title;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_sessions
|
||||
CHANGE COLUMN session_user_agent session_user_agent TEXT NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER session_ip_last,
|
||||
CHANGE COLUMN session_country session_country CHAR(2) NOT NULL DEFAULT "XX" COLLATE "ascii_general_ci" AFTER session_client_info;
|
||||
');
|
||||
CHANGE COLUMN session_user_agent session_user_agent TEXT NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER session_ip_last,
|
||||
CHANGE COLUMN session_country session_country CHAR(2) NOT NULL DEFAULT 'XX' COLLATE 'ascii_general_ci' AFTER session_client_info;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_users
|
||||
CHANGE COLUMN username username VARCHAR(255) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER user_id,
|
||||
CHANGE COLUMN password password VARCHAR(255) NULL DEFAULT NULL COLLATE "ascii_bin" AFTER username,
|
||||
CHANGE COLUMN email email VARCHAR(255) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER password,
|
||||
CHANGE COLUMN user_country user_country CHAR(2) NOT NULL DEFAULT "XX" COLLATE "ascii_general_ci" AFTER user_super,
|
||||
CHANGE COLUMN user_totp_key user_totp_key CHAR(26) NULL DEFAULT NULL COLLATE "ascii_bin" AFTER display_role,
|
||||
CHANGE COLUMN user_about_content user_about_content TEXT NULL DEFAULT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER user_totp_key,
|
||||
CHANGE COLUMN user_signature_content user_signature_content TEXT NULL DEFAULT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER user_about_parser,
|
||||
CHANGE COLUMN user_title user_title VARCHAR(64) NULL DEFAULT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER user_background_settings;
|
||||
');
|
||||
CHANGE COLUMN username username VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER user_id,
|
||||
CHANGE COLUMN password password VARCHAR(255) NULL DEFAULT NULL COLLATE 'ascii_bin' AFTER username,
|
||||
CHANGE COLUMN email email VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER password,
|
||||
CHANGE COLUMN user_country user_country CHAR(2) NOT NULL DEFAULT 'XX' COLLATE 'ascii_general_ci' AFTER user_super,
|
||||
CHANGE COLUMN user_totp_key user_totp_key CHAR(26) NULL DEFAULT NULL COLLATE 'ascii_bin' AFTER display_role,
|
||||
CHANGE COLUMN user_about_content user_about_content TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER user_totp_key,
|
||||
CHANGE COLUMN user_signature_content user_signature_content TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER user_about_parser,
|
||||
CHANGE COLUMN user_title user_title VARCHAR(64) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER user_background_settings;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_users_bans
|
||||
CHANGE COLUMN ban_reason_public ban_reason_public TEXT NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER ban_severity,
|
||||
CHANGE COLUMN ban_reason_private ban_reason_private TEXT NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER ban_reason_public;
|
||||
');
|
||||
CHANGE COLUMN ban_reason_public ban_reason_public TEXT NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER ban_severity,
|
||||
CHANGE COLUMN ban_reason_private ban_reason_private TEXT NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER ban_reason_public;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_users_modnotes
|
||||
CHANGE COLUMN note_title note_title VARCHAR(255) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER note_created,
|
||||
CHANGE COLUMN note_body note_body TEXT NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER note_title;
|
||||
');
|
||||
CHANGE COLUMN note_title note_title VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER note_created,
|
||||
CHANGE COLUMN note_body note_body TEXT NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER note_title;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_users_password_resets
|
||||
CHANGE COLUMN verification_code verification_code CHAR(12) NULL DEFAULT NULL COLLATE "ascii_general_ci" AFTER reset_requested;
|
||||
');
|
||||
CHANGE COLUMN verification_code verification_code CHAR(12) NULL DEFAULT NULL COLLATE 'ascii_general_ci' AFTER reset_requested;
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_users_warnings
|
||||
CHANGE COLUMN warn_body warn_body TEXT NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER mod_id;
|
||||
');
|
||||
CHANGE COLUMN warn_body warn_body TEXT NOT NULL COLLATE 'utf8mb4_unicode_520_ci' AFTER mod_id;
|
||||
SQL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ final class NewPermissionsSystem_20230830_213930 implements DbMigration {
|
|||
// make sure cron doesn't fuck us over
|
||||
$conn->execute('DELETE FROM msz_config WHERE config_name = "perms.needsRecalc"');
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_perms (
|
||||
user_id INT(10) UNSIGNED NULL DEFAULT NULL,
|
||||
role_id INT(10) UNSIGNED NULL DEFAULT NULL,
|
||||
|
@ -36,15 +36,15 @@ final class NewPermissionsSystem_20230830_213930 implements DbMigration {
|
|||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_perms
|
||||
ADD CONSTRAINT perms_53bit
|
||||
CHECK (perms_allow >= 0 AND perms_deny >= 0 AND perms_allow <= 9007199254740991 AND perms_deny <= 9007199254740991)
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_perms_calculated (
|
||||
user_id INT(10) UNSIGNED NULL DEFAULT NULL,
|
||||
forum_id INT(10) UNSIGNED NULL DEFAULT NULL,
|
||||
|
@ -65,21 +65,34 @@ final class NewPermissionsSystem_20230830_213930 implements DbMigration {
|
|||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin
|
||||
');
|
||||
SQL);
|
||||
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_perms_calculated
|
||||
ADD CONSTRAINT perms_calculated_53bit
|
||||
CHECK (perms_calculated >= 0 AND perms_calculated <= 9007199254740991)
|
||||
');
|
||||
SQL);
|
||||
|
||||
$insert = $conn->prepare('INSERT INTO msz_perms (user_id, role_id, forum_id, perms_category, perms_allow, perms_deny) VALUES (?, ?, ?, ?, ?, ?)');
|
||||
$insert = $conn->prepare(<<<SQL
|
||||
INSERT INTO msz_perms (
|
||||
user_id, role_id, forum_id, perms_category, perms_allow, perms_deny
|
||||
) VALUES (?, ?, ?, ?, ?, ?)
|
||||
SQL);
|
||||
|
||||
$result = $conn->query('SELECT user_id, role_id, general_perms_allow, general_perms_deny, user_perms_allow, user_perms_deny, changelog_perms_allow, changelog_perms_deny, news_perms_allow, news_perms_deny, forum_perms_allow, forum_perms_deny, comments_perms_allow, comments_perms_deny FROM msz_permissions');
|
||||
$result = $conn->query(<<<SQL
|
||||
SELECT user_id, role_id,
|
||||
general_perms_allow, general_perms_deny,
|
||||
user_perms_allow, user_perms_deny,
|
||||
changelog_perms_allow, changelog_perms_deny,
|
||||
news_perms_allow, news_perms_deny,
|
||||
forum_perms_allow, forum_perms_deny,
|
||||
comments_perms_allow, comments_perms_deny
|
||||
FROM msz_permissions
|
||||
SQL);
|
||||
while($result->next()) {
|
||||
$insert->reset();
|
||||
$insert->nextParameter($result->isNull(0) ? null : $result->getString(0));
|
||||
$insert->nextParameter($result->isNull(1) ? null : $result->getString(1));
|
||||
$insert->nextParameter($result->getStringOrNull(0));
|
||||
$insert->nextParameter($result->getStringOrNull(1));
|
||||
$insert->nextParameter(null);
|
||||
$insert->nextParameter('user');
|
||||
$insert->nextParameter($result->getInteger(4));
|
||||
|
@ -104,11 +117,15 @@ final class NewPermissionsSystem_20230830_213930 implements DbMigration {
|
|||
$insert->execute();
|
||||
}
|
||||
|
||||
$result = $conn->query('SELECT user_id, role_id, forum_id, forum_perms_allow, forum_perms_deny FROM msz_forum_permissions');
|
||||
$result = $conn->query(<<<SQL
|
||||
SELECT user_id, role_id, forum_id,
|
||||
forum_perms_allow, forum_perms_deny
|
||||
FROM msz_forum_permissions
|
||||
SQL);
|
||||
while($result->next()) {
|
||||
$insert->reset();
|
||||
$insert->nextParameter($result->isNull(0) ? null : $result->getString(0));
|
||||
$insert->nextParameter($result->isNull(1) ? null : $result->getString(1));
|
||||
$insert->nextParameter($result->getStringOrNull(0));
|
||||
$insert->nextParameter($result->getStringOrNull(1));
|
||||
$insert->nextParameter($result->getString(2));
|
||||
$insert->nextParameter('forum');
|
||||
$insert->nextParameter($result->getInteger(3));
|
||||
|
|
|
@ -4,20 +4,20 @@ use Index\Db\Migration\DbMigration;
|
|||
|
||||
final class CreateMessagesTable_20240130_233734 implements DbMigration {
|
||||
public function migrate(DbConnection $conn): void {
|
||||
$conn->execute('
|
||||
$conn->execute(<<<SQL
|
||||
CREATE TABLE msz_messages (
|
||||
msg_id BINARY(8) NOT NULL,
|
||||
msg_owner_id INT(10) UNSIGNED NOT NULL,
|
||||
msg_author_id INT(10) UNSIGNED NULL DEFAULT NULL,
|
||||
msg_recipient_id INT(10) UNSIGNED NULL DEFAULT NULL,
|
||||
msg_reply_to BINARY(8) NULL DEFAULT NULL,
|
||||
msg_title TINYTEXT NOT NULL COLLATE "utf8mb4_unicode_520_ci",
|
||||
msg_body TEXT NOT NULL COLLATE "utf8mb4_unicode_520_ci",
|
||||
msg_parser TINYINT(3) UNSIGNED NOT NULL,
|
||||
msg_created TIMESTAMP NOT NULL DEFAULT current_timestamp(),
|
||||
msg_sent TIMESTAMP NULL DEFAULT NULL,
|
||||
msg_read TIMESTAMP NULL DEFAULT NULL,
|
||||
msg_deleted TIMESTAMP NULL DEFAULT NULL,
|
||||
msg_id BINARY(8) NOT NULL,
|
||||
msg_owner_id INT(10) UNSIGNED NOT NULL,
|
||||
msg_author_id INT(10) UNSIGNED NULL DEFAULT NULL,
|
||||
msg_recipient_id INT(10) UNSIGNED NULL DEFAULT NULL,
|
||||
msg_reply_to BINARY(8) NULL DEFAULT NULL,
|
||||
msg_title TINYTEXT NOT NULL COLLATE 'utf8mb4_unicode_520_ci',
|
||||
msg_body TEXT NOT NULL COLLATE 'utf8mb4_unicode_520_ci',
|
||||
msg_parser TINYINT(3) UNSIGNED NOT NULL,
|
||||
msg_created TIMESTAMP NOT NULL DEFAULT current_timestamp(),
|
||||
msg_sent TIMESTAMP NULL DEFAULT NULL,
|
||||
msg_read TIMESTAMP NULL DEFAULT NULL,
|
||||
msg_deleted TIMESTAMP NULL DEFAULT NULL,
|
||||
PRIMARY KEY (msg_id, msg_owner_id),
|
||||
KEY messages_owner_foreign (msg_owner_id),
|
||||
KEY messages_author_foreign (msg_author_id),
|
||||
|
@ -43,6 +43,6 @@ final class CreateMessagesTable_20240130_233734 implements DbMigration {
|
|||
ON UPDATE CASCADE
|
||||
ON DELETE SET NULL
|
||||
) ENGINE=InnoDB COLLATE=utf8mb4_bin;
|
||||
');
|
||||
SQL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,11 +4,15 @@ use Index\Db\Migration\DbMigration;
|
|||
|
||||
final class BaseSixtyFourEncodePmsInDb_20240602_194809 implements DbMigration {
|
||||
public function migrate(DbConnection $conn): void {
|
||||
$conn->execute('UPDATE msz_messages SET msg_title = TO_BASE64(msg_title), msg_body = TO_BASE64(msg_body)');
|
||||
$conn->execute('
|
||||
ALTER TABLE `msz_messages`
|
||||
CHANGE COLUMN `msg_title` `msg_title` TINYBLOB NOT NULL AFTER `msg_reply_to`,
|
||||
CHANGE COLUMN `msg_body` `msg_body` BLOB NOT NULL AFTER `msg_title`;
|
||||
');
|
||||
$conn->execute(<<<SQL
|
||||
UPDATE msz_messages
|
||||
SET msg_title = TO_BASE64(msg_title),
|
||||
msg_body = TO_BASE64(msg_body)
|
||||
SQL);
|
||||
$conn->execute(<<<SQL
|
||||
ALTER TABLE msz_messages
|
||||
CHANGE COLUMN msg_title msg_title TINYBLOB NOT NULL AFTER msg_reply_to,
|
||||
CHANGE COLUMN msg_body msg_body BLOB NOT NULL AFTER msg_title;
|
||||
SQL);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue