OK, I’ve played with RT 3 enough now. I’m ready to roll this thing out to the rest of my world.
I want to get rid of all the test tickets, queues, etc. that I’ve been playing with and start fresh.
Is there an easy way to drop the DB and start from scratch? I know there was an option to use with make, but I I’ve wiped the source tree I originally built from (doh!).
OK, I’ve played with RT 3 enough now. I’m ready to roll this thing out to the rest of my world.
I want to get rid of all the test tickets, queues, etc. that I’ve been playing with and start fresh.
Is there an easy way to drop the DB and start from scratch? I know there was an option to use with make, but I I’ve wiped the source tree I originally built from (doh!).
Is there an easy way to drop the DB and start from scratch? I know there was an option to use with make, but I I’ve wiped the source tree I originally built from (doh!).
Redownload the source and do it again.
Or just use $RTROOT/sbin/rt-setup-database, which is what the make option calls to do the work anyway.
rt-setup-database --action drop --dba --prompt-for-dba-password
I saw them. But If I drop the database, wouldn’t it remove all my settings for each queues/users/script settings? I only want to remove all tickets and nothing more.
See the replies to message “Dropping the RT database”. I think that’s what you
want.
JSR/
Jonathan Chen scripted ::
This script is interesting. I’m not a perl programmer but I’m
wondering if it can be modified to delete ALL tickets from ALL queues so
RT would start assigning tickets with #1 again. If it is, how would I
go about it? If there is a script like this already available, please
lead me to one.
use RT::Interface::CLI qw(CleanEnv loc
GetCurrentUser GetMessageContent);
use RT::Group;
use RT;
#Clean out all the nasties from the environment
CleanEnv();
#Load etc/config.pm and drop privs
RT::LoadConfig();
#Connect to the database and get RT::SystemUser and RT::Nobody loaded
RT::Init();
(my $x=RT::Handle->new)->Connect;
my $dbh = $x->dbh() or die “Couldn’t connect to RT database”;
my $sql = “SELECT id FROM Tickets WHERE Status=? AND LastUpdated <
'$date'”;
my $sth = $dbh->prepare($sql);
$sth->execute(‘deleted’);
proceed with deletion
my $d_sth = $dbh->prepare(‘SELECT id FROM Transactions where
Ticket=?’);
my $stid = $dbh->prepare(‘DELETE FROM Attachments WHERE
TransactionId=?’);
my $sttrans = $dbh->prepare( ‘DELETE FROM Transactions WHERE
Ticket=?’);
my $stobjects = $dbh->prepare( ‘DELETE FROM TicketCustomFieldValues
WHERE Ticket=?’);
my $stlinks1 = $dbh->prepare( ‘DELETE FROM Links WHERE LocalBase=?’);
my $stlinks2 = $dbh->prepare( ‘DELETE FROM Links WHERE LocalTarget=?’);
my $d_groups = $dbh->prepare( ‘SELECT id FROM Groups WHERE
Domain=“RT::Ticket-Role” AND Instance=?’);
my $grpmbrs = $dbh->prepare( ‘DELETE FROM GroupMembers WHERE
GroupId=?’);
my $groups = $dbh->prepare( ‘DELETE FROM Groups WHERE
Domain=“RT::Ticket-Role” AND Instance=?’);
my $stticket = $dbh->prepare( ‘DELETE FROM Tickets WHERE id=?’);
while ( my ($ticketid) = $sth->fetchrow_array() ) {
print "\nticket $ticketid is dead and last updated before $date.
Deleting: ";
$d_sth->execute($ticketid);
delete Attachments for this ticket
print "Attachments. ";
while ( my ($transid) = $d_sth->fetchrow_array() ) {
$stid->execute($transid);
}
System Administrator
Washington Bible College/Capital Bible Seminary
Sound words, I know, Timothy is to use,
And old wives’ fables he is to refuse
But yet grave Paul him nowhere doth forbid
The use of parables, in which lay hid
That gold, those pearls, and precious stones that were
Worth digging for, and that with greatest care.
– From “The Author’s Apology For His Book”
“The Pilgrim’s Progress” by John Bunyan
I saw them. But If I drop the database, wouldn’t it remove all my settings for each queues/users/script settings? I only want to remove all tickets and nothing more.