The row_at represents "Version ID" & also its "auto_increment" of type for the entity.
That concludes that one record/entity can have multiple rows with the same value for entity_id and a different value for row_id.
row_id = identifier for the row. entity_id = actual entity.
The theory :
- Purpose of row id :-
- row_id is used to facilitate the Time Dimension for entities that support it.
- By having this additional identifier, it allows an entity (product, category, sales rule, etc.) to be stored more than once in their respective MySQL table but expressing different values for the same entity.
- These altered versions of the same entity are created using Magento's "Content Staging" feature.
Please refer - https://docs.magento.com/user-guide/cms/content-staging-scheduled-update.html
- Circumstances where row_id will change :-
- When want to change a product name for a month. You can schedule that change using the content staging by specifying a different product name for the date range needed.
- Behind the scenes, magento will utilize that "row_id" to store the scheduled change. If a customer visits the site during the time the product name was scheduled to be changed, magento will load the row_id corresponding to the how the product was scheduled to "look" at that point in time.
So, possibly "content-staging" feature is used in system, that is why it has different row id & entity_id.
Till now i have found/conclude this, but i need some more information on
In which situation the entity_id and row_id are different in "catalog_product_entity" table ?
Any one would like to add more details ?
Any comments/answers appreciated.