The maximum length of an INDEX is different between the Engines. (This change is not likely to hit you, but watch out.) MyISAM allows 1000 bytes; InnoDB allows 767 bytes
post_username
field is to be varchar(255)
, so having in mind utf8 encoding which takes 3 bytes per character, it can't be longer than 765 bytes. So, even 255 chars long username shouldn't hit the limits.Well, afaik (and from the migration files) it should be varchar(255). It was even varchar(25) in phpBB2
No.
This may happen if currently InnoDB is set as default engine for your DBMS (which could be MyISAM in the at some point in the past).
Code: Select all
post_id mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,
topic_id mediumint(8) UNSIGNED NOT NULL DEFAULT 0,
forum_id mediumint(8) UNSIGNED NOT NULL DEFAULT 0,
poster_id mediumint(8) UNSIGNED NOT NULL DEFAULT 0,
icon_id mediumint(8) UNSIGNED NOT NULL DEFAULT 0,
poster_ip varchar(40) binary CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
post_time int(11) UNSIGNED NOT NULL DEFAULT 0,
post_approved tinyint(1) UNSIGNED NOT NULL DEFAULT 1,
post_reported tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
enable_bbcode tinyint(1) UNSIGNED NOT NULL DEFAULT 1,
enable_smilies tinyint(1) UNSIGNED NOT NULL DEFAULT 1,
enable_magic_url tinyint(1) UNSIGNED NOT NULL DEFAULT 1,
enable_sig tinyint(1) UNSIGNED NOT NULL DEFAULT 1,
post_username blob NOT NULL,
post_subject blob NOT NULL,
post_text mediumblob NOT NULL,
post_checksum varchar(32) binary CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
post_attachment tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
bbcode_bitfield varchar(255) binary CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
bbcode_uid varchar(8) binary CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
post_postcount tinyint(1) UNSIGNED NOT NULL DEFAULT 1,
post_edit_time int(11) UNSIGNED NOT NULL DEFAULT 0,
post_edit_reason blob NOT NULL,
post_edit_user mediumint(8) UNSIGNED NOT NULL DEFAULT 0,
post_edit_count smallint(4) UNSIGNED NOT NULL DEFAULT 0,
post_edit_locked tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (post_id),
INDEX forum_id (forum_id),
INDEX post_approved (post_approved),
INDEX post_username (post_username),
INDEX poster_id (poster_id),
INDEX poster_ip (poster_ip),
INDEX tid_post_time (topic_id, post_time),
INDEX topic_id (topic_id)
)
ENGINE = MYISAM
AUTO_INCREMENT = 745
AVG_ROW_LENGTH = 3128
CHARACTER SET latin1
COLLATE latin1_general_ci;
mysql_upgrader.php
script to fix the things like described here https://www.phpbb.com/support/docs/en/3 ... ue-errors/ with the exception that the script for 3.0 is located here.