0
我試圖運行一個函數,但它不起作用。來自psql的錯誤信息難以理解
/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;