在sqitch中验证表不存在与mysql查询不存在

时间:2019-02-01 18:57:11

标签: mysql sqitch

我正在使用sqitch来跟踪数据库更改,其工作方式之一是使用sql查询验证更改。如果查询返回错误,则认为更改不成功。

我有一个更改,要从mysql数据库中永久删除表。为了验证部署,如果该表存在,我的验证需要返回一个错误。如果不存在表则直接返回错误,但是如何让mysql仅在存在特定表的情况下才返回错误?

1 个答案:

答案 0 :(得分:1)

使用Sqitch随附的checkit函数,例如described in the MySQL tutorial

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