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 '15 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 '15 at 13:51
  • Yes, I think both variants are suitable – zhartaunik Jul 31 '15 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 '17 at 2:08

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, privacy policy and cookie policy

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