Применение нового снимка справочника к таблице SCD2
Напишите apply_scd2(current, snapshot, load_date).
current— версии записей:{"id", "attrs": {...}, "valid_from", "valid_to"}, у открытой версииvalid_toравноNone.snapshot— новый снимок источника:{"id", "attrs": {...}}.- Для записи из снимка без открытой версии — добавить версию с
valid_from = load_dateиvalid_to = None. - Если
attrsне изменились — ничего не менять. Если изменились — закрыть открытую версию (valid_to = load_date) и добавить новую. - Записи, отсутствующие в снимке, не трогать.
- Вернуть новый список, отсортированный по
(id, valid_from). Входные данные не менять.
заготовка решения
def apply_scd2(current, snapshot, load_date):
# ваш код
return None