Preserving requestor/user information on a per-ticket basis

I have a request to modify RT to preserve the requestor’s user information
(phone, email, department, etc) on a per-ticket basis, in a way that makes
this information sortable, searchable, etc. per ticket. Put another way,
even when the users’ info in the users table is updated, the information
that was current at the time the ticket in question was created is
preserved, forevermore, along with the ticket.

This seems easy enough to do by adding global custom fields for the desired
information, and pulling the info into the fields from the users table at
ticket creation. What has been bothering me about this approach is that
there are plans to pull reporting data out of the mysql database directly
with external (non-UNIX) tools. Hence the thought that we should be adding
these columns to the database’s ticket table so it more compatible with this
kind of external access at the risk of being less rt-compatible in the
future.

I am a UNIX sysadmin, not an SQL programmer, so I appeal to those on the
list with database skills. What do y’all think?

/msh

Melanie Humphrey
UNIX Support Analyst
melanie.humphrey@ualberta.ca
780-492-8618

At 03:53 PM 6/14/2004, Melanie Humphrey wrote:

I am a UNIX sysadmin, not an SQL programmer, so I appeal to those on the
list with database skills. What do y’all think?

The consensus here seems to be that modifying the database schema is not
the best idea. The API is the best way to get at data. Going directly to
the database can be unsafe. That said, if your just going to be querying,
no harm can come from that.

The problem with modifying the database schema comes when it is time to
upgrade. You may run into issues if the RT schema changes. It is much
harder to merge database schemas than it is to merge code.

You’ve mapped out a pretty good RTish solution to the problem that
shouldn’t be too difficult to implement. If I was in your shoes, I’d go
that route. The API should run just fine under Win32 and you only need to
install the dependencies for the bits you will use.

Michael

Michael S. Liebman m-liebman@northwestern.edu
http://msl521.freeshell.org/
“I have vision and the rest of the world wears bifocals.”
-Paul Newman in “Butch Cassidy & the Sundance Kid”