diff --git a/src/main/resources/config/liquibase/changelog/20190506185600_constraints_UserRoleAssignment.xml b/src/main/resources/config/liquibase/changelog/20190506185600_constraints_UserRoleAssignment.xml new file mode 100644 index 00000000..2a0e4ec1 --- /dev/null +++ b/src/main/resources/config/liquibase/changelog/20190506185600_constraints_UserRoleAssignment.xml @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/src/main/resources/config/liquibase/historicization/historicization_UserRoleAssignment.xml b/src/main/resources/config/liquibase/historicization/historicization_UserRoleAssignment.xml new file mode 100644 index 00000000..b5d55fdd --- /dev/null +++ b/src/main/resources/config/liquibase/historicization/historicization_UserRoleAssignment.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CREATE TRIGGER user_role_assignment_historicize + AFTER INSERT OR DELETE OR UPDATE ON user_role_assignment + FOR EACH ROW EXECUTE PROCEDURE historicize(); + + + DROP TRIGGER user_role_assignment_historicize + + + + + + SELECT * + FROM user_role_assignment_history + WHERE history_id IN ( + SELECT max(history_id) AS history_id + FROM user_role_assignment_history + WHERE history_transaction <= current_setting('history.transaction')::bigint + GROUP BY entity_type_id, entity_object_id, assigned_role, user_id) + + + + diff --git a/src/main/resources/config/liquibase/master.xml b/src/main/resources/config/liquibase/master.xml index 9842d7a3..bc1ac640 100644 --- a/src/main/resources/config/liquibase/master.xml +++ b/src/main/resources/config/liquibase/master.xml @@ -22,8 +22,12 @@ + + + +