#liquibase #check-constraints #changeset #changelog
#liquibase #проверка-ограничения #набор изменений #Журнал изменений
Вопрос:
Я хочу создать два новых столбца, каждый из которых находится в другой таблице. Например: в таблице company_ я хочу создать столбец с именем last_registration_number и второй столбец с именем registration_number в таблице employee с контрольным ограничением, которое следует этой логике
registration_number of employee table <= last_registration_number of company table
Я не смог найти, как это сделать между двумя таблицами.
Как правильно это сделать?
Ответ №1:
Я полагаю, что версия Liquibase PRO может помочь. У него есть addCheckConstraint
тег (а также редактирование и удаление). Вот ссылка на описание.
Также checkConstraint
в constraints
теге есть атрибут:
<createTable tableName="foo">
<column name="bar" type"integer">
<constraints checkConstraint="your condition here"/>
</column>
</createTable>
но я не уверен, что это сработает, поскольку основы запроса на извлечение для реализации checkConstraint все еще открыты.
Или, если вы можете просто поиграть с sql
тегом, который позволяет вам делать все, что вы хотите, в обычном SQL.