Я создаю тесты для API. Я хотел бы настроить БД и очистить ее для каждого теста. Проблема в том, что моя БД очень сложная и большая, поэтому я хотел бы знать, есть ли способ сделать полную настройку и очистить всю тестовую БД, которая не слишком тяжелая. Спасибо за ваши рекомендации. Если вам нужна дополнительная информация, дайте мне знать. В случае, если это помогает, я использую phpunit для тестов и использую симфонию в качестве моей рамки.Настройка и очистка базы данных после теста Postgress и PHP
0
A
ответ
1
Это очень просто с базами данных шаблонов.
Вы создаете и заполняете базу данных теста, которую вы хотите, назовем ее test_template
.
Затем убедитесь, что никто не может подключиться:
ALTER DATABASE test_template ALLOW_CONNECTIONS false IS_TEMPLATE true;
Затем создайте тестовую базу данных с
CREATE DATABASE test123 TEMPLATE test_template;
Для очистки, вы просто удалить базу данных. Вы должны будете убедиться, что никто не подключен, когда вы его уроните, используйте функцию pg_terminate_backend
, чтобы убить все остальные соединения.
+0
Thanks Laurenz, Это было очень полезно. Я использовал это и после использования pg_restore для поддержания чистой тестовой базы данных. – Eli
Смежные вопросы
- 1. Очистка базы данных после теста Node.js
- 2. Очистка базы данных после теста JUnit.
- 3. Очистка данных после теста на селен
- 4. NUnit - очистка после отказа теста
- 5. Очистка базы данных после каждого теста Junit с http-звонками
- 6. Postgress "&" символ и номер после имени столбца
- 7. Очистка базы данных после тестов Selenium
- 8. Очистка базы данных после тестов Junit
- 9. Не удается получить данные из базы данных postgress, используя Php?
- 10. Очистка базы данных
- 11. Очистка записей базы данных
- 12. Очистка записей базы данных
- 13. Очистка записей базы данных
- 14. Очистка базы данных приложений
- 15. Очистка записей базы данных
- 16. Очистка базы данных
- 17. Какова цель теста Очистка
- 18. Очистка PHP и очистка ненужного кода
- 19. Magento: Удаление нескольких магазинов (сайтов) и очистка базы данных
- 20. RSpec + очистка базы данных, правильная очистка
- 21. Очистка после сеанса PHP
- 22. SSIS проверки данных и очистка
- 23. Настройка чистой базы данных для каждого теста при использовании postgresql
- 24. Как откат/срыв/очистка изменений базы данных после запуска системного теста?
- 25. Очистка запросов базы данных SocialEngine
- 26. Настройка PHP и CodeIgniter для использования базы данных Oracle
- 27. Настройка приложения Windows - изменение конфигурации базы данных и базы данных
- 28. Соединение базы данных теста CMD
- 29. Очистка данных и снятие скобок
- 30. Настройка базы данных Laravel-5 и Multitenancy
Как сделать дубликат БД и после каждого теста вы можете просто перезаписать БД, который вы использовали только с оригинальным (другим). Вы можете клонировать его довольно быстро, то есть от phpMyAdmin. – MilanG
Спасибо @MilanG за ваш быстрый ответ. Я тоже об этом подумал. Дело в том, что тест будет использоваться другими людьми, поэтому мне нужно будет настроить его и перед тестом. Я ищу способ загрузить весь файл sql с помощью php и таким образом, который не будет слишком тяжелым для системы, поскольку у БД есть много таблиц и множество данных. Хорошо, что las-часть относительна, но позволяет говорить большую для моей системы. – Eli
Затем вы можете использовать дамп базы данных mysql, а затем из команды mysql php call console для импорта этой дампы в db. Поэтому в любое время, когда вы хотите «перезагрузить» свою таблицу, просто выполните «exec» или некоторую аналогичную команду, чтобы вызвать mysql для повторного импорта db. – MilanG