A couple weeks ago we upgraded our Magento site and another one to 1.6.1. So we're down with 1.6.1, if you need an upgrade. As usual, we stumbled into some things. Enjoy.

SQL Error 150 - Can't create table ....

You might run into this error when Magento is trying to create tables with foreign key assignments to tables that do not yet exist. When this happens find the line in the setup script triggering that error and surround it with the following commands:

$installer->run("
 set foreign_key_checks = 0 ;"
);


.... other installer code ...


$installer->run("
 set foreign_key_checks = 1 ;"
);

Then, trigger the installation again and after successful execution remove the modifications.

Code Changes

  • If you extend / overwrote Customer/controllers/AccountController.php, you must update any code involving the Forgot Password system. It has been changed considerably. Your code now must call a different function to send the email, and must include the code to generate an authorization token for reset.
  • If your changes involve latching onto the Forgot Password events, be sure to update them accordingly to listen for the new Reset Password actions.

Configuration Changes

Forgot Password Email Template Assignment:

The template set for "Forgot Password" under System > Configuration > Customers:Customer Configuration must be changed to a new template based off of the new Forgot Password template. If it is not changed, all forgot password emails will be blank, as the forgot-password system in Magento has been completely changed. (see also Design Changes, next)

Design Changes

Templates:

New templates:
/customer/form/resetforgottenpassword.phtml

Email templates:
If the Forgot Password email template had been customized, a new template will need to be created and customized, as the forgot-password system in Magento has completely changed (see also Configuration Changes).

XML Updates:
If you have a custom "customer.xml" in your theme, it must be updated with the customer_account_resetpassword section from the base-default XML. It will not pick this up automatically. If you do not make this change, all attempts to reset a customer password will fail with a 500 server error.

Extension Issues

We're only running the AheadWorks blog, so our exposure here is rather limited.

AheadWorks Blog v1.0.22 (AW All v2.1.2)
Version numbers above 1.6 for Magento are not properly recognized, and may cause the extension to think you are running a bad version of Magento (and disable itself). You must change the version number defined in app/code/local/AW/All/Helper/Config.php .

Various Unknowns
Magento 1.6 tightens it's reins when it comes to table storage types and foreign key constraints. Any module which modifies a core table, index, or key constraint has a good chance to run into (or cause) problems (before or after) when upgrading.