UPDATE: while upgrading the truly old forums of miniBB version 2.3, I've checked the code updates provided above in #4 post, and if you have mySQL 5.7+ (mine was 5.7.29) then you could experience sort of mySQL error, if you work out the 'minibb_topics' table with these codes:
ALTER TABLE minibbtable_topics MODIFY topic_time datetime;
ALTER TABLE minibbtable_topics MODIFY topic_last_post_time datetime;
If you execute the first code string, then mySQL would say there is a wrong default value for 'topic_last_post_time'; and vice versa, if you execute the 2nd string, then it will say the default value is wrong for 'topic_time'. I.e. mySQL doesn't let you to upgrade one default value, taking into attention also other possibly incorrect values.
For this case, you have to manually create a new table named, let's say, 'minibbtable_topics2'. Create it with the syntax provided in
_install_mysql.sql of miniBB package, for example:
CREATE TABLE minibbtable_topics2 (
topic_id int(10) NOT NULL auto_increment,
topic_title varchar(700) NOT NULL default '',
topic_poster int(10) NOT NULL default '0',
topic_poster_name varchar(255) NOT NULL default 'Anonymous',
topic_time datetime,
topic_views int(10) default '0' not null,
forum_id int(10) NOT NULL default '1',
topic_status tinyint(1) NOT NULL default '0',
topic_last_post_id int(10) NOT NULL default '1',
posts_count int(10) NOT NULL default '0',
sticky int(1) NOT NULL default '0',
topic_last_post_time datetime,
topic_last_poster VARCHAR(255) default '' NOT NULL,
PRIMARY KEY(topic_id),
KEY forum_id (forum_id),
KEY topic_last_post_id (topic_last_post_id),
KEY sticky (sticky),
KEY posts_count (posts_count),
KEY topic_last_post_time (topic_last_post_time),
KEY topic_views (topic_views)
) ENGINE=MYISAM;
I've taken the code above from miniBB 3.4.2 and I hope it's the most recent version to work with mySQL 5.7+. When upgrading your own forum, you should take this code from the most recent miniBB package.
After you created an empty table, copy all values from the older table to the newer table (substitute your own table names):
INSERT INTO minibbtable_topics2 SELECT * FROM minibbtable_topics;
Then rename the older table to something like:
RENAME TABLE minibbtable_topics TO minibbtable_topics_tmp;
Rena
me the new table to the default name you have:
RENAME TABLE minibbtable_topics2 TO minibbtable_topics;
Finally, delete the unnecessary table:
DROP TABLE minibbtable_topics_tmp;