Тестовый запуск PHP mysqli

#php #mysql #testing #command-line #mysqli

#php #mysql #тестирование #командная строка #mysqli

Вопрос:

У меня есть PHP-скрипт с одним запросом выбора и несколькими подготовленными операторами обновления. Есть ли способ запустить скрипт в тестовом режиме, чтобы в базу данных не записывались изменения?

Ответ №1:

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

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

Ответ №2:

Вы можете использовать транзакции с фиксацией и откатом.

Ответ №3:

Насколько я знаю, нет.
Я предлагаю сделать резервную копию данных.
Добавьте одну вещь, восстановите резервную копию, чтобы увидеть, были ли отменены ваши изменения, и выполните тестовый запуск, зная, что у вас есть резервная копия.

Ответ №4:

Прежде всего, тестовый запуск должен выполняться, ну, в тестовой базе данных, где вы можете беспрепятственно запускать запросы.

Однако, если все ваши запросы, изменяющие данные, находятся в таблицах с поддержкой InnoDB / транзакций, и ни один запрос не выдает неявную фиксацию, вы можете обернуть их в транзакцию и откатить / просто не фиксировать их.

Комментарии:

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

2. Хехе, они должны: P. Но хорошо. перейдите к уже трижды упомянутым транзакциям, если вы действительно не можете ;).