我正在尝试在Play2.0数据库演化脚本中创建 PostgreSQL 触发器。sql 代码相对简单,在 pgAdminIII 中运行良好:
CREATE OR REPLACE FUNCTION update_modified() RETURNS TRIGGER AS $$
BEGIN
NEW.modified = now();
RETURN NEW;
END;
$$ LANGUAGE 'plpgsql';
但是,运行进化时出现错误:ERROR: unterminated dollar-quoted
string at or near "$$ BEGIN NEW.modified = now()"
. SQL 代码似乎在函数中遇到的第一个分号处被截断。我正在为 PostgreSQL 使用“9.1-901.jdbc4”JDBC 驱动程序。
更新:
Evolutions.scala中的代码(第 219+ 行)对;
. 框架本身似乎有问题:
// Execute script
s.sql.split(";").map(_.trim).foreach {
case "" =>
case statement => execute(statement)
}
有什么解决办法吗?