[rt-users] Merging two RT databases
Hi, I was recently asked to merge 2 RT databases together. I don't need to import users, queues, or ACLs, but I would like to preserve all tickets and transactions from the old database. I can't imagine I'm the first person who's had to do this, and I'm wondering if anyone already has a script written. Essentially, I would like to iterate through the tickets in the old database and play them back into the new one, basically adding a constant to all ticket numbers and transaction numbers. It doesn't matter for my purposes to keep the ticket numbers the same (and would be impossible at this stage anyway). I would like to use the RT codebase instead of writing a perl script that interacts with the MySQL DB directly. I think the latter approach would be less reliable. I should also note that I can take RT offline to do the merge if necessary. Anyway, I'm wondering if anyone has had to do this before and if anyone already has a script. If I end up writing my own, I will share it with the list. Thanks for your time and consideration, Ross Oldenburg UWM Center for Gravitation and Cosmology ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: sa...@bestpractical.com Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com
Re: [rt-users] Merging two RT databases
I would like to use the RT codebase instead of writing a perl script that interacts with the MySQL DB directly. I think the latter approach would be less reliable. If I had to do this, I would use the REST interfaces. Do a REST request to one RT to get ticket info, then turn around and use the REST interface on the other to create a new ticket. Problem is, you don't specify a ticket number when you create a new ticket. RT assigns one. If you absolutely have to do that, you've no choice but to dig into the db schema, which will be exponentially more difficult. But you can always create a special queue just for the merged tickets, or add a custom field and set its valued to merged from other system or some such, so that you can tell them apart. I should also note that I can take RT offline to do the merge if necessary. Shouldn't be necessary if you can use the REST interfaces. Have a look at http://wiki.bestpractical.com/view/REST. There are convenience libraries already written for both perl and ruby (the latter is my work). -- -- Tom Lahti BIT Statement LLC (425)251-0833 x 117 http://www.bitstatement.net/ -- ___ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: sa...@bestpractical.com Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com