I noticed a message in Promotions -> Catalog Price Rules:

"There are rules that have been changed but were not applied. Please, click Apply Rules in order to see immediate effect in the catalog."

But I couldn't see any rule at all. Not in backend, not in database. All these tables were empty:


I cleared cache and ran a full reindex but the message still showed up. Only hitting the "Apply" button made the message disappear. Now I'm wondering where Magento pulls this information (that rules still need to get applied) if it does not pulling it from catalogrule* table. Do anyone know ?

  • 1
    Open your phpmyadmin and execute following query: SELECT core_flag.* FROM core_flag WHERE (core_flag.flag_code='catalog_rules_dirty') Then show us result. Most probably existed flag force your error.
    – zhartaunik
    Jul 31, 2015 at 12:30
  • Thanks! Thats how it works! There is indeed an entry in core_flag with state=0 and flag_data=NULL. I assume its save to delete this row?
    – Stefan
    Jul 31, 2015 at 13:51
  • Yes, I think both variants are suitable
    – zhartaunik
    Jul 31, 2015 at 14:06
  • Hi, i know this is an older post, but I followed these directions after my rules wouldn't apply as well. I found in Magento 2.1, there is a flag table and there is an entry with catalog_rules_dirty. Can you explain this? There is nothing on Google that I could find about this table.
    – Jason
    Apr 5, 2017 at 2:08

1 Answer 1


Remove flag

SELECT core_flag.* FROM core_flag WHERE (core_flag.flag_code='catalog_rules_dirty')

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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