We recently had a problem with installing Magento extensions on a live server. The setup files ran fine on our development servers, but when we installed on the clients live servers, the setup files didn’t run at all.
Problem: When installing extensions on our demo sites, the setup ran correctly. When installing the extensions on the same code base on the client’s live server, they failed to run. The issue was happening with any extension we installed.
Background:
Some extensions make additions and/or changes to the database. When an extension does this, it runs setup files with version numbers in the name of the file. The Magento system checks an entry in the core_resource table in the database, and if the version in this entry for the extension we’re installing is a lower number than the version number in the file, the setup file runs.
Examples:
Install
app/code/local/<Package>/<Extension>/sql/<setup-directory>_setup/mysql4-install-3.0.0.php
If the entry in core_resource for module <Package>_<Extension> is set to 2.9.0, the system should automatically read the above file and run the sql statements it contains.
Upgrade
app/code/local/<Package>/<Extension>/sql/<setup-directory>_setup/mysql4-upgrade-3.0.0-3.0.1.php
If the entry in core_resource for module <Package>_<Extension> is set to 3.0.0, the system should automatically read the above file and run the sql statements it contains. It would not run the install file again, because it has already run base on the version number in the file.
Cause:
We found that in this particular case, the cause is a setting in app/etc/local.xml that we hadn’t seen before: <skip_process_modules_updates>1</skip_process_modules_updates>
This disables the default behavior of Magento detailed above.
Solution:
People often set this option for a performance increase otherwise, the site will check for whether it needs to run setup scripts on every page load. The solution to this problem, if you are going to keep this setting, is to set up all extensions manually on the live server.
Need help with your Magento eCommerce site? Customer Paradigm could be the perfect fit for you! Call 303.473.4400 or visit here to have a real person contact you now >>