我有一个spring post项目,postgresql作为主DB,H2作为内存DB进行测试。我添加了一个PL / pgSQL程序来执行一些自定义逻辑,现在我的测试停止了。 liquibase用户通常如何解决此类案件?
我的程序是:
CREATE OR REPLACE FUNCTION <name>() RETURNS trigger AS'
BEGIN
DELETE FROM gator_device
WHERE id = OLD....
RETURN NULL ;
END;'
LANGUAGE plpgsql;
CREATE TRIGGER <name>
AFTER DELETE ON <name>
FOR EACH ROW EXECUTE PROCEDURE <name>();
答案 0 :(得分:1)
如您对问题的评论中所述,您需要标记使用属性dbms="postgresql"
创建函数的变更集。当Liquibase决定将哪些更改集应用于数据库时,如果该更改集仅适用于某些数据库类型,则它可以跳过更改集。要完全跨平台,您需要编写等效的&#39;适用于您要支持的每个数据库的更改集,并使用每个更改集支持的dbms标记每个数据集。