Как мне создать резервную копию таблицы, которая будет использоваться для полной ссылки sh? - PullRequest
0 голосов
/ 05 августа 2020

У меня есть инкрементная модель A, в которой каждый день рассчитывается с использованием значения предыдущего дня. Запуск полного обновления sh означает, что эту таблицу необходимо рассчитывать с самого начала, что очень неэффективно и занимает слишком много времени.

Я попытался создать резервную таблицу, которая будет принимать копию значение таблицы каждый месяц, а модель A обращается к таблице резервного копирования во время полного обновления sh, так что значения только после резервного копирования необходимо пересчитывать, и я могу прийти к сегодняшнему значению намного быстрее. Однако это дает мне ошибку:

Encountered an error:
Found a cycle: model.model_A --> model.backup --> model.model_A

Это связано с тем, что резервная копия относится к модели для получения значения каждый месяц, в то время как модель A также относится к резервной копии для создания в случае полного - refre sh.

Есть ли способ обойти эту проблему, избегая перестраивания всей модели с самого начала каждый раз, когда я выполняю полное обновление sh?

1 Ответ

0 голосов
/ 12 августа 2020

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

Если есть приложение, которое вычисляет значения для каждого дня, вы могли бы сохранить новые значения обратно в те же исходные таблицы, просто добавив «updated_at» или что-то подобное. Если я правильно понимаю ваш вариант использования, вы можете использовать это значение всякий раз, когда вам нужно запрашивать информацию только за последний день.

...