updated high-dimensional nirs brapi observationUnitDbId calls
[sgn.git] / db / 00067 / AddNewListTypes.pm
blobb1f58d63e699257e7b65ec3e10adfd24d5e66be0
1 #!/usr/bin/env perl
4 =head1 NAME
6 AddNewListTypes.pm
8 =head1 SYNOPSIS
10 mx-run AddNewListTypes [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
17 This is a test dummy patch.
18 This subclass uses L<Moose>. The parent class uses L<MooseX::Runnable>
20 =head1 AUTHOR
22 Bryan Ellerbrock <bje24@cornell.edu>
24 =head1 COPYRIGHT & LICENSE
26 Copyright 2010 Boyce Thompson Institute for Plant Research
28 This program is free software; you can redistribute it and/or modify
29 it under the same terms as Perl itself.
31 =cut
34 package AddNewListTypes;
36 use Moose;
37 use Bio::Chado::Schema;
38 use Try::Tiny;
39 extends 'CXGN::Metadata::Dbpatch';
42 has '+description' => ( default => <<'' );
43 This patch will create new cvterms 'dataset', 'crosses', 'populations', and 'numeric' in the 'list_type' cv.
46 sub patch {
47 my $self=shift;
49 print STDOUT "Executing the patch:\n " . $self->name . ".\n\nDescription:\n ". $self->description . ".\n\nExecuted by:\n " . $self->username . " .";
51 print STDOUT "\nChecking if this db_patch was executed before or if previous db_patches have been executed.\n";
53 print STDOUT "\nExecuting the SQL commands.\n";
55 my $schema = Bio::Chado::Schema->connect( sub { $self->dbh->clone } );
57 my $coderef = sub {
59 my $dataset_list_type_cvterm = $schema->resultset("Cv::Cvterm")->create_with({
60 name => 'dataset',
61 definition => 'dataset',
62 cv => 'list_types',
63 });
65 my $crosses_list_type_cvterm = $schema->resultset("Cv::Cvterm")->create_with({
66 name => 'crosses',
67 definition => 'crosses',
68 cv => 'list_types',
69 });
71 my $populations_list_type_cvterm = $schema->resultset("Cv::Cvterm")->create_with({
72 name => 'populations',
73 definition => 'populations',
74 cv => 'list_types',
75 });
77 my $numbers_list_type_cvterm = $schema->resultset("Cv::Cvterm")->create_with({
78 name => 'numbers',
79 definition => 'numbers',
80 cv => 'list_types',
81 });
85 try {
86 $schema->txn_do($coderef);
88 } catch {
89 die "Load failed! " . $_ . "\n" ;
92 print "You're done!\n";
96 ####
97 1; #
98 ####