On 23/05/11 11:12, Geoff Crompton wrote:
Hi,

I'm trying to repair my searches on test RT installation that I've
upgraded from rt3.6 to rt3.8. This problem is described on
http://requesttracker.wikia.com/wiki/RepairSearches

Rather than doing this manually, or just deleting all saved searches I'm
trying to do this with a script. I've copied the
/usr/sbin/rt-dump-database-3.8 as a starting point, and stripped out
things I don't need from that script.

According to my print statements the script is doing what I want, but
the changes are not sticking to the database. I'm calling
$attribute->SetAttribute() to update the attributes I want to change.
Despite this after running the script the searches are still incorrect.

I've been reading the RT::Record code, but I don't know what I'm doing
wrong. I thought maybe I wasn't committing a transaction, but adding
'$RT::Handle->BeginTransaction() and $RT::EndTransaction() didn't change
things.

Any tips on how to get these changes to make it to the database?


I've done some more debugging. When I call $attribute->SetAttribute() when I get down to DBIx::SearchBuilder::Record::__Set() the code returns 'That is already the current value'.

It seems DBIx::SearchBuilder::Record::__Value() is returning the same string as the __Set() Value arg. I'm not a perl programmer, so I don't really know what I'm doing, or why the way I'm calling the API is breaking.

Anyone got any pointers on where to look next?

--
+-Geoff Crompton
+--Debian System Administrator
+---Trinity College

Reply via email to