• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

XF 1.3 Upgrading to 1.3.4

Deebs

Well-known member
#1
Hi,

I have just upgraded my forums to 1.3.4 using the CLI and it got as far as running step 19, upgrading to 1.3.0 Release Candidate 2. Then it rebuilt the data and finally the templates and stated that the upgrade was successful. No errors were displayed during the process.

When I enter the AdminCP it states I am on 1.3.4 and if I goto /install it only offers the ability to rebuild the master data. Now I get the following errors in the Server Error Log:
Code:
Zend_Db_Statement_Mysqli_Exception: Mysqli statement execute error : Field 'ip_address_old' doesn't have a default value - library/Zend/Db/Statement/Mysqli.php:214
Generated By: Unknown Account
From searching the forums @Mike mentions that some steps possibly have not run. Unfortunately I cannot provide a copy of the installation output as my machine decided to have a reset just as I was copying the information.

So, need I be worried that it never displayed that it was upgrading to 1.3.1, 1.3.2 and 1.3.4? (File health check reports all ok)
 

Brogan

XenForo moderator
Staff member
#2
It may be that the column still exists in the database.

Are you able to provide phpMyAdmin access so we can check the various tables?
 

Deebs

Well-known member
#4
It may be that the column still exists in the database.

Are you able to provide phpMyAdmin access so we can check the various tables?
The column is still there, that is not my concern, just that the CLI did not mention any of the other versions during the upgrade. Unfortunately I do not have phpMyAdmin access installed, I can only offer a workbench style login over a SSH tunnel.
 

Mike

XenForo developer
Staff member
#5
The only versions that will be displayed are ones that have actual upgrade scripts for them, so that's expected.
 

Deebs

Well-known member
#10
@Mike

All steps seemed to have worked apart from the following in Step6:
Code:
 ALTER TABLE xf_login_attempt
                                DROP ip_address_old,
                                ADD attempt_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
                                DROP KEY login_check,
                                ADD KEY login_check (login, ip_address, attempt_date)
MySQL reports the following when I attempt to run it:
Code:
Error Code: 1075. Incorrect table definition; there can be only one auto column and it must be defined as a key
Now I do have a column labelled "autoinc" which is defined as the primary key and is an auto increment.
 

Deebs

Well-known member
#12
Code:
CREATE TABLE `xf_login_attempt` (
  `autoinc` int(11) NOT NULL AUTO_INCREMENT,
  `login` varchar(60) NOT NULL,
  `ip_address_old` int(10) unsigned NOT NULL,
  `attempt_date` int(10) unsigned NOT NULL,
  `ip_address` varbinary(16) NOT NULL,
  PRIMARY KEY (`autoinc`),
  KEY `login_check` (`login`,`ip_address_old`,`attempt_date`),
  KEY `attempt_date` (`attempt_date`)
) ENGINE=InnoDB AUTO_INCREMENT=1514 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
Right, the issue is the autoinc column which is not a default XF one, so it is breaking the query. I'll fix the problem. Sorry for the bother.
 

Brogan

XenForo moderator
Staff member
#13
This is how the default table should be:
Code:
CREATE TABLE `xf_login_attempt` (
    `attempt_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `login` varchar(60) NOT NULL,
    `ip_address` varbinary(16) NOT NULL,
    `attempt_date` int(10) unsigned NOT NULL,
    PRIMARY KEY (`attempt_id`),
    KEY `login_check` (`login`,`ip_address`,`attempt_date`),
    KEY `attempt_date` (`attempt_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8