Самый быстрый способ очистить содержимое от многих таблиц - PullRequest
2 голосов
/ 05 ноября 2010

Сейчас мы используем TRUNCATE, чтобы очистить содержимое 798 таблиц в postgres (изолированные тестовые прогоны).По возможности мы используем транзакции.Однако в тех местах, где это невозможно, нам нужен самый быстрый способ сброса состояния БД.

Мы работаем над тем, чтобы фактически вызывать усечение только для таблиц, которые были изменены (для любого данного теста будут изменены только несколько таблиц из 798).удалить все данные из многих таблиц PostgreSQL?

1 Ответ

4 голосов
/ 05 ноября 2010

На ум приходят две вещи:

  1. Установите чистую БД в качестве шаблона и создайте копию из нее перед каждым тестом.
  2. Установите чистую БД в качестве схемы по умолчанию,но запустите TransactionTests в другой схеме (SET search_path TO %s).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...