Problem with copying from existing workflow
Added by Matthew Rupert about 2 years ago
I created a new workflow this morning but ran into a problem when I went to copy it from an existing workflow. It seems that I was getting an error because it was trying to insert a null value as the TRACKER_ID, and I'm guessing this is because the tracker wasn't yet created and yet it was trying to copy the workflow anyway.
So this query raises an error:
INSERT INTO workflows (tracker_id, role_id, old_status_id, new_status_id)
SELECT 10004, 10002, old_status_id, new_status_id
FROM workflows WHERE tracker_id = 10003 AND role_id = 10002
Or maybe its just that ID wasn't created? I'm not sure, but I got the error:
Error: ORA-01400: cannot insert NULL into ("xxxxxx"."WORKFLOWS"."ID"): INSERT INTO workflows (tracker_id, role_id, old_status_id, new_status_id) SELECT 10004, 10002, old_status_id, new_status_id FROM workflows WHERE tracker_id = 10003 AND role_id = 10002
Replies (5)
RE: Problem with copying from existing workflow - RESOLVED - Added by Matthew Rupert about 2 years ago
I'm using Oracle, which isn't supported, but still, this may be of help to some people. For whatever reason there was no trigger created (no triggers were created). I don't know enough about databases, but perhaps MySQL and Postgres don't need triggers to auto increment a sequence?
Anyway, I created a trigger and this resolved my problem:
create trigger workflows_insert_trigger
before insert on workflows for each row
begin
select workflows_seq.nextval into :new.id from dual;
end;
commit;
RE: Problem with copying from existing workflow - Added by Matthew Rupert about 2 years ago
By the way, I'm documenting all this stuff here:
http://matthewrupert.net/2011/03/11/running-redmine-with-an-oracle-backend/
RE: Problem with copying from existing workflow - Added by Etienne Massip about 2 years ago
Could you add this to the Howtos page, that could be very useful ?
RE: Problem with copying from existing workflow - Added by Matthew Rupert about 2 years ago
Yep, will do. Also, I changed the trigger:
CREATE OR REPLACE TRIGGER workflows_before_insert
BEFORE INSERT
ON WORKFLOWS
FOR EACH ROW
BEGIN
if :new.id is null then
SELECT workflows_seq.nextval INTO :new.ID FROM dual;
end if;
END;
/
RE: Problem with copying from existing workflow - Added by e tec over 1 year ago
Hi,
I am also trying to get Redmine working with an Oracle Enterprise DB (11.2.0.2.0 - 64bit). I've been applying the fixes from your blog and from another users patch posted somewhere on this site. Thank you for all your tips.
When I try the above sql statement, I am getting:
Warning: Trigger created with compilation errors.
I am entering the query into sqlplus.
How would I go about troubleshooting this?
When I restart apache I am still getting an error trying to copy over a workflow.
Thanks for any help!
(1-5/5)