Откатить определенное количество транзакций во время развития? - PullRequest
0 голосов
/ 25 января 2011

Существуют ли какие-либо инструменты, которые прозрачно отслеживают транзакции БД и допускают пакетный откат?Нечто похожее на то, что предлагает DBunit, но не в контексте модульного теста, а на несколько более длительный период времени (скажем, для теста, который длится 5-10 минут, выполняется в пользовательском интерфейсе, а не в автоматическом тесте)1002 * Нравится: разработчик интегрирует новую функцию и тестирует ее в интерактивном режиме.Через 10 минут данные перепутались, и он хочет вернуться в безопасное состояние базы данных.

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

Кстати, используется стандарт Windows SQL Server 2008, поэтому мы вообще не можем использовать моментальные снимки.Технологический стек для приложения - Java / JPA / Hibernate.

Спасибо!

1 Ответ

0 голосов
/ 25 января 2011

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

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

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

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