Magento: Create or Update CMS Page & Static Block, Core Configuration, Product and Category information via Upgrade Scripts.

Why are upgrade scripts helpful

Running the upgrade scripts will automatically update the database when deploying your site to staging and production servers by hitting the url. This can help you to avoid manual setup changes in admin panel when releasing sites to different servers. It also helps us to keep track of all the changes we trigger in admin panel.

To run upgrade script, you need to create a custom module. Download full module from our github

In your module you create a file data-install-0.1.0.php

Update System Configuration:

CMS Static Blocks create or upgrade:

CMS Page Create or Upgrade:

Product Attributes Create or Upgrade:

Category Upgrade:

Update All Category and Run Indexing:

Product Upgrade:

Email Template Upgrade:

Drop table:

Magento: Wrong count in admin Grid when using GROUP BY clause

In Magento 1.x when you use GROUP BY clause in any Grid.php file in admin, the count always display wrong. Many times it displays 1 even if there are many records. Due to this your pagination also doesn’t work. This is a bug in Magento. Your getSize() always returns wrong count whereas total records in grid are proper.

To fix this, you need to edit one of your core file. As it’s not a good practice to edit core file, we will here override the core file. Overriding LIB module.

Copy Db.php file from magento / lib / Varien / Data / Collection / Db.php

Paste it to your local directory so the resultant folder structure would look like this:

magento / app / code / local / Varien / Data / Collection / Db.php

Now open this file to edit and replace getSelectCountSql function with below one