【发布时间】:2021-12-06 12:03:08
【问题描述】:
在我的应用程序中,我们几乎没有使用 GitHub 工作流配置的测试用例,即使我的文件中只有与空间相关的更改,但仍然出现以下错误。不知道为什么我的规格仍然失败它以前工作正常。
An error occurred in a `before(:suite)` hook.
Failure/Error: ActiveMedian.create_function
ActiveRecord::StatementInvalid:
PG::UndefinedFunction: ERROR: function array_append(anyarray, anyelement) does not exist
: CREATE OR REPLACE FUNCTION median(anyarray)
RETURNS float8 AS
$$
WITH q AS
(
SELECT val
FROM unnest($***) val
WHERE VAL IS NOT NULL
ORDER BY ***
),
cnt AS
(
SELECT COUNT(*) AS c FROM q
)
SELECT AVG(val)::float8
FROM
(
SELECT val FROM q
LIMIT 2 - MOD((SELECT c FROM cnt), 2)
OFFSET GREATEST(CEIL((SELECT c FROM cnt) / 2.0) - ***,0)
) q2;
$$
LANGUAGE sql IMMUTABLE;
DROP AGGREGATE IF EXISTS median(numeric);
DROP AGGREGATE IF EXISTS median(double precision);
DROP AGGREGATE IF EXISTS median(anyelement);
CREATE AGGREGATE median(anyelement) (
SFUNC=array_append,
STYPE=anyarray,
FINALFUNC=median,
INITCOND='{}'
);
# ./spec/rails_helper.rb:***54:in `seed'
# ./spec/rails_helper.rb:***:in `block (2 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# PG::UndefinedFunction:
# ERROR: function array_append(anyarray, anyelement) does not exist
# ./spec/rails_helper.rb:***54:in `seed'
spec/rails_helper.rb 上有 ActiveMedian.create_function,这可能会导致问题。
任何线索或建议将不胜感激
【问题讨论】:
-
您能否在问题中添加更多详细信息,例如
create_function、rails、postgres,以及您已经尝试过的东西等? -
您使用的是哪个版本的 PostgreSQL?
-
您正在使用 pg 函数,因此您应该检查该函数是否存在于您的测试数据库中。 -- 我说的是
array_append
标签: ruby-on-rails ruby postgresql github rspec