Liquibase を使用して列に一意の制約を追加したいと考えています。もちろん、前提条件を使用して重複行が存在するかどうかを確認したいと思います。
私はこれを思いついた:
<preConditions>
<sqlCheck expectedResult="0">
select count(*)
from person
having ( count(username) > 1 )
</sqlCheck>
</preConditions>
ただし、これはEmpty set
MySQLおよびおそらく他のデータベースで生成されます。
expectedResult=""
andを使用してみexpectedResult="null"
ましたが、どちらも機能しません。