Временные срезы и точки восстановления

Точки восстановления

В системе можно вернуться к состоянию данных и метаданных на заданный момент времени. Для того, чтобы вернуться к определенному моменту времени, он должен быть заранее зафиксирован, т.е. должна быть создана точка восстановления.

Другими словами, чтобы иметь возможность вернуть «как было», необходимо заранее сохранить точку, к которой впоследствии откатываться.

Создать и перейти к точке восстановления можно из интерфейса страницы «Настройки».

_images/239.png

При откате на точку восстановления происходят необратимые изменения — стираются все действия, произошедшие в системе после создания точки восстановления.

Создавать точки восстановления могут пользователи с поставленной галкой «Администратор» (см. раздел Пользователи системы) и главный системный администратор (admin). Перейти к созданной точке восстановления может только глобальный администратор (admin).

Автоматическое создание точек восстановления

Перед началом работы в системе создается начальная точка восстановления. Откат на эту точку означает полное очищение базы.

При каждой загрузке данных с помощью коннектора создается точка восстановления, позволяющая вернуться к состоянию данных и метаданных до этой загрузки. В названии точки восстановления будет отражено, перед загрузкой данных из какого источника она создана, а также время и дата создания точки.

_images/snapshot_08.png

Создание точки восстановления вручную

Для того, чтобы создать точку восстановления, нужно зайти в раздел настроек и кликнуть по кнопке «Создать точку восстановления» в разделе «Восстановление».

_images/241.png

По клику на кнопку появится всплывающее окно, в которое необходимо ввести комментарий к точке восстановления. Комментарий позволит в дальнейшем понять, к какому состоянию данных и метаданных будет совершен откат.

_images/snapshot_02.png

После того как комментарий введен, нужно нажать кнопку «Создать».

_images/snapshot_03.png

Появится сообщение об успешном создании точки восстановления.

Также создать точку восстановления можно с помощью «Редактора объектов» по ссылке /oditor/ (см. раздел Редактор объектов (oditor)).

Откат на точку восстановления

Для того чтобы вернуться к состоянию данных на момент создания точки восстановления, нужно зайти в раздел настроек и кликнуть по кнопке «Вернуться к точке восстановления» в разделе «Восстановление».

_images/241.png

Появится всплывающее окно, в котором перечислены все точки восстановления. Необходимо кликнуть по строке с нужной точкой восстановления.

_images/snapshot_06.png

После того, как точка выбрана, можно нажать кнопку «Вернуться». Это действие нельзя будет отменить.

ВАЖНО: возврат на точку восстановления необратим!

_images/snapshot_07.png

Также вернуться к точке восстановления можно с помощью «Редактора объектов» по ссылке /oditor/ (см. раздел Редактор объектов (oditor)).

Полная очистка базы

Для того чтобы полностью очистить базу, нужно откатиться до точки восстановления «Начальная точка восстановления». Эта точка создается автоматически перед началом работы в системе и откат к ней будет означать полное удаление всех данных и метаданных.

После отката данных на начальную точку восстановления откроется начальный экран системы.

Временные срезы

Существует команда show_change_times, которая отображает произошедшие изменения в базе данных.

Так, пример использования данной команды:

[fva@localhost netdb_demo]$ ./dev help show_change_times

Usage: manage.py show_change_times [options]

показывает даты внесения изменений в базу в заданном интервале или начиная с заданного момента.

Параметры: 0, 1 или 2 даты:

  • 0 - все (долго при больших базах)
  • 1 - начиная с …
  • 2 - с … по …

Формат даты - один из:

  • %Y-%m-%d %H:%M:%S
  • %Y
  • %d.%m.%Y
  • %Y-%m-%d
  • %d.%m.%Y %H:%M:%S
  • %m.%Y
  • %Y-%m-%d %H:%M
  • %d.%m.%Y %H:%M

Результат команды:

[fva@localhost netdb_demo]$ ./dev show_change_times 2018 2018-01-05

2018-01-01 01:45:02 DstDateTime 16
2018-01-01 01:45:02 DstObj 36
2018-01-01 01:45:02 DstPeriod 4
2018-01-01 01:45:02 DstString 8

2018-01-02 01:45:02 DstDateTime 12
2018-01-02 01:45:02 DstObj 22
2018-01-02 01:45:02 DstPeriod 2
2018-01-02 01:45:02 DstString 4

2018-01-03 01:45:02 DstDateTime 12
2018-01-03 01:45:02 DstObj 22
2018-01-03 01:45:02 DstPeriod 2
2018-01-03 01:45:02 DstString 4

2018-01-04 01:45:03 DstDateTime 12
2018-01-04 01:45:03 DstObj 22
2018-01-04 01:45:03 DstPeriod 2
2018-01-04 01:45:03 DstString 4