Перенос данных на чистую базу (постановка)
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) (Новая страница: «В данной постановке рассматривается альтернативное решение проблемы [Полное закрытие пе…») |
SYSDBA (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| − | В данной постановке рассматривается альтернативное решение проблемы [Полное закрытие периода (постановка)|полного закрытия периода]. Вместо удаления данных за пределами активного периода предлагается перенести актуальную информацию в чистую БД согласно следующего алгоритма: | + | В данной постановке рассматривается альтернативное решение проблемы [[Полное закрытие периода (постановка)|полного закрытия периода]]. Вместо удаления данных за пределами активного периода предлагается перенести актуальную информацию в чистую БД согласно следующего алгоритма: |
# Создаем чистую БД, только метаданные от исходной БД. | # Создаем чистую БД, только метаданные от исходной БД. | ||
Версия 08:32, 29 сентября 2010
В данной постановке рассматривается альтернативное решение проблемы полного закрытия периода. Вместо удаления данных за пределами активного периода предлагается перенести актуальную информацию в чистую БД согласно следующего алгоритма:
- Создаем чистую БД, только метаданные от исходной БД.
- Отключаем все триггеры.
- Удаляем все ограничения (ПК, ФК).
- Удаляем все индексы.
- Выводим суммарные значения и помещаем их в БД.
- Переносим документы начиная с определенной даты.
- Переносим все справочники согласно заданным критериям: полностью, только используемые записи, только используемые и записи созданные\измененные после определенной даты.
- Трансформируем и переносим складское движение.
- Создаем индексы, ограничения и подключаем тригеры.
В процессе переноса, для каждой перенесенной записи:
- Запоминаем ИД и удаляем его из списка требуемых ИД
- Для каждой ссылки проверяем не перенесен ли уже соответствующий ИД. Если нет, то помещаем в список требуемых ИД вместе с таблицей, куда он ссылается.
По окончании переноса проверяем список требуемых ИД и переносим нужные записи (с выполнением п.1 и 2).