我正在使用 sqitch 来跟踪数据库更改,它的工作方式之一是使用 sql 查询验证更改。如果查询返回错误,则认为更改不成功。
我有一个更改,我从我的 mysql 数据库中永久删除一个表。要验证部署,如果表存在,我的验证需要返回错误。虽然如果表不存在则返回错误很简单,但如何让 mysql 仅在特定表存在时才返回错误?
使用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';