我正在使用liquibase为postgressql数据库创建触发器。以下是我在liquibase中使用的语法
var figure = function(name) {
return function(f) {
return $('<figure data-name="' + name + '"><img src="' + URL.createObjectURL(f)' + "><figcaption><input type=checkbox checked><br>' + f.name + '</figcaption></figure>').data("f",f);
};
};
在Jenkins Job中执行此过程时,我收到此错误
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
<changeSet id="1" author="yc14ik1">
<createProcedure catalogName="cat" dbms="postgresql"
encoding="utf8" procedureName="UPDATE_LAST_ROW_CHG_TS()" relativeToChangelogFile="true" schemaName="sub">
CREATE OR REPLACE FUNCTION UPDATE_LAST_ROW_CHG_TS() RETURNS trigger
LANGUAGE plpgsql
AS $$
BEGIN
NEW.LAST_ROW_CHG_TS = NOW();
RETURN NEW;
END;
$$;
</createProcedure>
<sql></sql>
</changeSet>
有人可以帮助我如何解决这个问题?
答案 0 :(得分:0)
我以不同的方式设置我的工作正常。
<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-3.1.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
<changeSet author="l" id="UPDATE_LAST_ROW_CHG_TS" runOnChange="true">
<createProcedure catalogName="UPDATE_LAST_ROW_CHG_TS"
dbms="postgresql"
encoding="utf8"
path="../files/UPDATE_LAST_ROW_CHG_TS.sql"
procedureName="UPDATE_LAST_ROW_CHG_TS"
relativeToChangelogFile="true"
schemaName="public"></createProcedure>
</changeSet>
</databaseChangeLog>
从那里你将所有sql放在path属性中引用的.sql文件中。
我不知道你的方式不会工作,但我觉得你的底部有空标签似乎很奇怪。也许你的意思是那些包装你的sql函数?
无论如何我知道如果配置liquibase并正确运行,上面的示例将会起作用。