MySQL の CHECK で LIKE の _ はワイルドカード、エスケープ落ちに注意
MySQL
データベース
MySQL の LIKE では _ は任意1文字のワイルドカードなので、CHECK 制約で id LIKE 'account_%' と書くと account_foo だけでなく accountXfoo も通してしまう。本来 account\_% のようにエスケープが必要。sqldef 等の反映経路を通ると SHOW CREATE TABLE でエスケープが落ちて制約が意図より緩くなることがあるため、introspection 生成物にその差分が出る。生成物は手修正せず生成元か生成後処理を直すのが筋。