When installing a Magmodules extension, in most cases, it will run SQL as part of its installation. However, if your front-end is displaying an error report after installation, it is likely that either SQL was not successfully run, or that the files in the zip folder were not copied to the right locations. This article is about fixing error: "1054 Unknown column 'main_table.alternate_category". This error can occur when Magento fires the installation script before all files are uploaded.
Magento’s Compilation feature (System -> Tools -> Compilation) is enabled during installation. In this case, Magento runs all PHP code from the includes/src directory and completely ignores all changes in the app/code directory where the extension is being installed. If your error reports had records with includes/src/__default.php your store was running in compilation mode during the installation. Hence, you should always disable Magento’s Compilation feature before installing extensions.
Magento’s Cache (System -> Cache Management) is disabled and you or any other user loaded/refreshed a page in Magento’s front-end or back-end during the extension upload process. In this case, while the page request is processing, it finds out that a new extension is present and not installed and starts installing it while not all files are copied (for example, the database import script).
Even in some other cases, there is still a slight chance that while you are installing the extension, another user might fire a cache refresh. So the heavier the load, the more changes this can happen. Our advise, when installing the extension directly to a production environment with medium to high loads, place the site in maintenance mode while installing the extension.
Manually rewind core_resource
Take the following steps to resolve the issue. We assume here that you are competent with phpMyAdmin. If not, we recommend getting a developer to assist in this, as doing this wrong can break your Magento installation.
- Open the database table ‘core_resource’
- Browse the table and find: alternatelang_setup
- Remove this entry (only one)
- Refresh the cache
- The error should be gone!