diff --git a/install.php b/install.php index 69be6300..c39f62dd 100644 --- a/install.php +++ b/install.php @@ -467,6 +467,11 @@ if (file_exists($config['has_installed'])) { $query->bindValue(':seen', $ban['seen']); $query->execute() or error(db_error($query)); } + + // Drop old bans table + query("DROP TABLE ``bans``") or error(db_error()); + // Replace with new table + query("RENAME TABLE ``bans_new_temp`` TO ``bans``") or error(db_error()); case false: // Update version number file_write($config['has_installed'], VERSION); diff --git a/install.sql b/install.sql index 22bdeb55..462cd2f0 100644 --- a/install.sql +++ b/install.sql @@ -40,18 +40,20 @@ CREATE TABLE IF NOT EXISTS `antispam` ( -- CREATE TABLE IF NOT EXISTS `bans` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `ip` varchar(39) CHARACTER SET ascii NOT NULL, - `mod` int(11) NOT NULL COMMENT 'which mod made the ban', - `set` int(11) NOT NULL, - `expires` int(11) DEFAULT NULL, + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `ipstart` varbinary(16) NOT NULL, + `ipend` varbinary(16) DEFAULT NULL, + `created` int(10) unsigned NOT NULL, + `expires` int(10) unsigned DEFAULT NULL, + `board` varchar(58) DEFAULT NULL, + `creator` int(10) NOT NULL, `reason` text, - `board` varchar(58) CHARACTER SET utf8 DEFAULT NULL, `seen` tinyint(1) NOT NULL, + `post` blob, PRIMARY KEY (`id`), - KEY `ip` (`ip`), - KEY `seen` (`seen`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ; + KEY `expires` (`expires`), + KEY `ipstart` (`ipstart`,`ipend`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ; -- --------------------------------------------------------