Проверьте таблицу не существует с MySQL запрос в sqitch - PullRequest
0 голосов
/ 01 февраля 2019

Я использую sqitch для отслеживания изменений в базе данных, и один из способов, которым это работает, - это проверка изменений с помощью SQL-запроса.Если запрос возвращает ошибку, то изменение считается неудачным.

У меня есть изменение, при котором я постоянно удаляю таблицу из моей базы данных mysql.Чтобы проверить развертывание, моя проверка должна вернуть ошибку, если таблица существует.Хотя легко вернуть ошибку, если таблицы не существует, как заставить mysql возвращать ошибку только тогда, когда конкретная таблица существует?

1 Ответ

0 голосов
/ 04 апреля 2019

Используйте функцию checkit, которая поставляется с Sqitch, как , описанное в руководстве по MySQL :

SELECT checkit(COUNT(*) = 0, 'Table "foo" exists but should not')
  FROM information_schema.tables
 WHERE table_schema = 'your_db'
   AND table_name = 'dropped_table';

...