0

I have an issue with my Magento setup - where no modules that I install, are actually installing the MySQL tables. This isn't just custom ones, these are MySQL tables that we've purchased, from various different places.

I can't believe that all of them would be wrong, so was wondering what the best way to go about debugging this would be.

There are currently no errors when developer mode is turned on, including when deleting the record out of the core_resource table and refreshing (hence doing the "reinstall"), the cache is turned off, I've tried to fix this multiple times, but every time I've just resorted to manually building the tables.

I've looked at various different answers, both on the Magento Stack Exchange, and on Stack Overflow - and none of the answers on those have worked.

We're running Magento 1.9.2.0.

Any help would be greatly appreciated - and if you need to see specific parts of code, just comment below and I'll add it in here.

Cheers.

  • Can you add the steps you follow to install a module? – Jaimin Sutariya Sep 5 '17 at 15:48
  • Normally - I'll add the files to the root of the Magento installation, upload them, then go and clear the cache. Other than the tables not being created, the modules work! Even once I've created the tables manually, the modules can add and remove items from the tables etc. – Benjamin Sep 5 '17 at 15:51
  • Did you check if the DB user which you are using with Magento have the permission to create tables? – Jaimin Sutariya Sep 5 '17 at 15:56
  • Yep! It's the same user I use when using my MySQL client to create the tables. It has all privileges. I've tried putting Mage::log() into the sql install file, and it's not logging either. – Benjamin Sep 5 '17 at 16:02
  • You must add a try catch in every installation with Mage::log() – Mohamed El Mrabet Nov 22 '17 at 21:31
1

Magerun - recommended solution

I would recommend to install magerun for Magento 1

https://github.com/netz98/n98-magerun

If you have this tool available you could run the following command:

n98-magerun sys:setup:incremental

This then will run each setup script individually and give the necessary feedback. You could also run

n98-magerun sys:setup:run

but this won't give any feedback so you can't debug the setup scripts

Manually

It is possible to take a look in the database in the coure_resource table.

This table contains all installed Modules with version number and data_version number.

Check if the module version numbers are correct and if you want to re-run the install scripts just change the version number two a previous number. After that flush the cache en reload the webshop.

If you want to full run all scripts of a module remove the whole row associated to the module from the table.

It is possible to add debug information to the scripts before re-running install scripts.

| improve this answer | |
  • Hi, is there any way to run the script manually without the tool? Even if it's just one? So I can see why it's not running? – Benjamin Sep 6 '17 at 6:45
  • If not - I'll just get it installed and see what happens – Benjamin Sep 6 '17 at 6:45
  • I have updated the answer to manually re-run scripts – Mr. Lewis Sep 6 '17 at 11:49
0

Did you try adding the script inside a try{}catch(Exception $e){} ? That would at least show you whether the script is being run and failing or not even.

| improve this answer | |
  • Hi Daniel, I don't think it's even getting to the script - as if I put a die() in the sql install file, it doesn't die. – Benjamin Sep 6 '17 at 6:17
  • Try tweaking the config xml file then. Things to look for are naming standards and versioning. – Daniel Sep 6 '17 at 9:48
  • The thing is, is that there's a lot of plugins I've had this problem with, I can't imagine for a second that ALL of them would be wrong? :) – Benjamin Sep 6 '17 at 10:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.