我试图运行一个功能,但它不起作用。
/usr/bin/python2.7 /home/developer/PycharmProjects/credorax-git/project/services/pgw_credorax/credorax_tests.py
E
======================================================================
ERROR: test_successful_refund (__main__.CredoraxTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/developer/PycharmProjects/credorax-git/project/services/pgw_credorax/credorax_tests.py", line 51, in test_successful_refund
[ 100, response['response_id'], response['auth_code'],response['payment_ref'], ])
ProgrammingError: column "trans_id" of relation "credorax_msgs" does not exist
LINE 1: INSERT INTO credorax_msgs (trans_id, response_id, auth_code,...
^
QUERY: INSERT INTO credorax_msgs (trans_id, response_id, auth_code, payment_ref) VALUES (_trans_id,_response_id,_auth_code,_payment_ref)
CONTEXT: PL/pgSQL function insert_credorax_msg(integer,character varying,character varying,character varying) line 3 at SQL statement
----------------------------------------------------------------------
Ran 1 test in 5.465s
FAILED (errors=1)
Process finished with exit code 1
但是错误是错误的,我确实有一个名为trans_id
的列。
-- Function: public.insert_credorax_msg(integer, character varying, character varying, character varying)
-- DROP FUNCTION public.insert_credorax_msg(integer, character varying, character varying, character varying);
CREATE OR REPLACE FUNCTION public.insert_credorax_msg(
_trans_id integer,
_response_id character varying,
_auth_code character varying,
_payment_ref character varying)
RETURNS boolean AS
$BODY$
BEGIN
INSERT INTO credorax_msgs (trans_id, response_id, auth_code, payment_ref) VALUES (_trans_id,_response_id,_auth_code,_payment_ref);
RETURN true;
END;
$BODY$
LANGUAGE plpgsql VOLATILE SECURITY DEFINER
COST 100;
ALTER FUNCTION public.insert_credorax_msg(integer, character varying, character varying, character varying)
OWNER TO pgw;
答案 0 :(得分:1)
确保在测试时连接到正确的数据库。
通常,测试运行程序使用与用于开发或生产的数据库连接不同的配置。