Merge branch 'master' into topic/upload_fieldbook_images
[sgn.git] / db / 00001 / AddMissingIndexes.pm
blob1f83548303d4a8dc5eb65534ab983d0a72205234
1 package AddMissingIndexes;
3 =head1 NAME
5 AddMissingIndexes
7 =head1 SYNOPSIS
9 Add missing indexes to the SGN schema
11 mx-run AddMissingIndexes [options] -H hostname -D dbname -u username [-F]
13 This is a subclass of L<CXGN::Metadata::Dbpatch>
15 =head1 DESCRIPTION
17 =head1 AUTHOR
19 Jonathan "Duke" Leto
21 =head1 COPYRIGHT & LICENSE
23 Copyright 2010 Boyce Thompson Institute for Plant Research
25 This program is free software; you can redistribute it and/or modify
26 it under the same terms as Perl itself.
28 =cut
30 use Try::Tiny;
31 use Moose;
32 use 5.010;
33 extends 'CXGN::Metadata::Dbpatch';
35 sub init_patch {
36 my $self=shift;
37 my $name = __PACKAGE__;
38 say "dbpatch name $name";
39 my $description = 'Add missing indexes';
40 my @previous_requested_patches = ();
41 $self->name($name);
42 $self->description($description);
43 $self->prereq(\@previous_requested_patches);
46 sub patch {
47 my $self=shift;
48 say "Executing the patch:\n " . $self->name . ".\n\nDescription:\n ". $self->description . ".\n\nExecuted by:\n " . $self->username . " .";
49 say "Checking if this db_patch was executed before or if previous db_patches have been executed.\n";
50 say "Executing the SQL commands.\n";
52 my $sql = <<SQL;
53 create index cds_protein_feature_id_idx on sgn.cds (protein_feature_id);
54 create index phylonode_feature_id_idx on public.phylonode (feature_id);
55 create index clone_feature_feature_id_idx on genomic.clone_feature (feature_id);
56 SQL
58 $self->dbh->do($sql);
59 say "Have a nice day!";