Каков наилучший способ сделать тестирование базы данных (особенно MYSQL) - PullRequest
1 голос
/ 20 апреля 2010

Сейчас я тестирую что-то в базе данных. Это база данных WordPress. Я должен написать и удалить и сделать другую операцию на нем. Как вы знаете, он имеет механизм индексации, который всегда заставляет каждое новое сообщение наследовать следующий максимально возможный идентификатор.

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

Сейчас мое единственное решение - сделать резервную копию. Поэтому, если у меня есть какой-то раздел запланированного тестирования, я сделаю его резервную копию и начну следующее тестирование на другой копии.

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

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

Я использую mysql и phpmyadmin и использую его для разработки собственного решения.

РЕДАКТИРОВАТЬ ::: Как эффективно проводить тестирование базы данных при разработке PHP-решения?

Ответы [ 3 ]

1 голос
/ 21 апреля 2010

Если ваша файловая система поддерживает записываемые снимки - LVM, ZFS, Veritas и т. Д. - вы можете сделать мгновенную копию всего раздела базы данных, смонтировать ее в другом месте, запустить новый экземпляр MYSQL, который использует снимок, выполнить ваше тестирование, снимите ваш снимок - и все, не нарушая вашу реплику.

Для моментального снимка требуется только хранилище для объема данных, который изменяется во время тестирования, поэтому может потребоваться всего несколько ГБ.

1 голос
/ 22 апреля 2010

Является ли номер сообщения автоинкрементным полем? Если нет, зайдите в WordPress (временно) и найдите код, где хранятся новые сообщения. Перед сохранением почему бы вам не добавить константу, например 1000, чтобы отправить идентификационный номер. Когда вы закончите тестирование, просто удалите идентификаторы, которые больше вашей константы.

1 голос
/ 20 апреля 2010

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

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