XF 1.3 Upgrading to 1.3.4

Deebs

Well-known member
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)
 
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?
 
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

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.
 
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.
 
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
 
Top Bottom