File Coverage

blib/lib/Anego/CLI/Migrate.pm
Criterion Covered Total %
statement 24 34 70.5
branch 0 2 0.0
condition n/a
subroutine 8 9 88.8
pod 0 1 0.0
total 32 46 69.5


line stmt bran cond sub pod time code
1             package Anego::CLI::Migrate;
2 1     1   568 use strict;
  1         2  
  1         24  
3 1     1   4 use warnings;
  1         2  
  1         18  
4 1     1   3 use utf8;
  1         2  
  1         4  
5              
6 1     1   16 use Anego::Config;
  1         2  
  1         18  
7 1     1   4 use Anego::Logger;
  1         1  
  1         37  
8 1     1   5 use Anego::Task::Diff;
  1         2  
  1         18  
9 1     1   4 use Anego::Task::SchemaLoader;
  1         2  
  1         18  
10 1     1   3 use Anego::Util;
  1         2  
  1         118  
11              
12             sub run {
13 0     0 0   my ($class, @args) = @_;
14 0           my $config = Anego::Config->load;
15              
16 0           my $source_schema = Anego::Task::SchemaLoader->database;
17 0           my $target_schema = Anego::Task::SchemaLoader->from(@args);
18              
19 0           my $diff = Anego::Task::Diff->diff($source_schema, $target_schema);
20 0 0         unless ($diff) {
21 0           warnf("target schema == database schema, should no differences\n");
22 0           return;
23             }
24              
25 0           do_sql($diff);
26              
27 0           infof "Migrated\n";
28             }
29              
30             1;