changeLogs-preDeploy/createDomains.xml (30 lines of code) (raw):
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.5.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
<changeSet author="registry owner" id="domain dn_passport_num">
<sql dbms="postgresql" endDelimiter=";" splitStatements="false" stripComments="true">
CREATE DOMAIN dn_passport_num CHAR(8) CONSTRAINT passport_number_chk CHECK (VALUE ~ '^[АВЕІКМНОРСТХ]{2}\d{6}$');
<comment>CREATE DOMAIN dn_passport_num</comment>
</sql>
<rollback>
<sql splitStatements="true" stripComments="false">
DROP DOMAIN dn_passport_num;
</sql>
</rollback>
</changeSet>
<changeSet author="registry owner" id="domain dn_edrpou">
<sql dbms="postgresql" endDelimiter=";" splitStatements="false" stripComments="true">
CREATE DOMAIN dn_edrpou TEXT CONSTRAINT edrpou_chk CHECK (VALUE ~ '^\d{8}|\d{9}|\d{10}$');
<comment>CREATE DOMAIN dn_edrpou</comment>
</sql>
<rollback>
<sql splitStatements="true" stripComments="false">
DROP DOMAIN dn_edrpou;
</sql>
</rollback>
</changeSet>
</databaseChangeLog>