modified plugin
[sgn.git] / db / 00083 / UpdateCoPrefix.pm
bloba37208e3850c1b4c43c9b7ce1dc02cee1d4e6b8c
1 #!/usr/bin/env perl
4 =head1 NAME
6 UpdateCoPrefix.pm
8 =head1 SYNOPSIS
10 mx-run ThisPackageName [options] -H hostname -D dbname -u username [-F]
12 this is a subclass of L<CXGN::Metadata::Dbpatch>
13 see the perldoc of parent class for more details.
15 =head1 DESCRIPTION
16 This patch updates the cassava_trait db name from the generic CO prefix to the crop ontology CO_334 prefix
19 This subclass uses L<Moose>. The parent class uses L<MooseX::Runnable>
21 =head1 AUTHOR
23 Naama Menda<nm249@cornell.edu>
25 =head1 COPYRIGHT & LICENSE
27 Copyright 2010 Boyce Thompson Institute for Plant Research
29 This program is free software; you can redistribute it and/or modify
30 it under the same terms as Perl itself.
32 =cut
35 package UpdateCoPrefix;
37 use Moose;
38 use Bio::Chado::Schema;
39 use Try::Tiny;
40 extends 'CXGN::Metadata::Dbpatch';
43 has '+description' => ( default => <<'' );
44 Update cassava_trait db prefix
46 has '+prereq' => (
47 default => sub {
48 [],
53 sub patch {
54 my $self=shift;
56 print STDOUT "Executing the patch:\n " . $self->name . ".\n\nDescription:\n ". $self->description . ".\n\nExecuted by:\n " . $self->username . " .";
58 print STDOUT "\nChecking if this db_patch was executed before or if previous db_patches have been executed.\n";
60 print STDOUT "\nExecuting the SQL commands.\n";
61 my $schema = Bio::Chado::Schema->connect( sub { $self->dbh->clone } );
63 my $db_rs = $schema->resultset("General::Db")->search(
65 'cv.name' => "cassava_trait" ,
67 { join => { 'dbxrefs' => { 'cvterm' => 'cv' } }},
69 if ($db_rs) {
70 my $db = $db_rs->first;
71 my $db_name = $db->name;
72 print STDERR "db name = $db_name \n";
73 if ($db_name eq "CO") {
74 $db->name("CO_334");
75 $db->update();
76 print STDERR "db name is now " . $db->name() . "\n";
79 print "You're done!\n";
83 ####
84 1; #
85 ####