Version control for multiple pieces of related data

I am trying to figure out how best to keep the revision / change history information across multiple rows of data, if for some reason we need to get back to that data.

This is a general view of the layout:

item
---------------
id
title
etc...

region
---------------
id
title
etc...

release_type
-----------------
id
title
etc...

items_released_dates_data
---------------------
item_id
region_id
release_type_id (these three form the primary key)
date

So you can have one release date for each element + region_id + release_type, and we basically only track the date (for the purposes of this question, the β€œdate” can be a number, a string, or whatever. Run this problem again)

Changes are passed in bulk when everything is added to items_released_dates_data, where item_id = your_id is first deleted, and the insert statement adds new values ​​(maybe this is not the best way to do this?)

My thought was to create a table like:

items_release_dates_data_history
-------------------------------------
item_id
timestamp
description
raw_data

, json xml, -, , . items_released_dates_data items_released_dates_data_history ( :?)

- mysql, , , , , , .

: , - /, - , ?

+3
2

. , , .

, . . , , ( ). , , , , .

MyISAM InnoDB - .

, , , , , - " ".

+2

, . , , , .

delete + insert, , , . . MyISAM, , . , . InnoDB , .

+1

Source: https://habr.com/ru/post/1782821/


All Articles