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   904 use strict;
  1         1  
  1         30  
3 1     1   11 use warnings;
  1         3  
  1         25  
4 1     1   4 use utf8;
  1         1  
  1         4  
5              
6 1     1   354 use Anego::Config;
  1         2  
  1         41  
7 1     1   6 use Anego::Logger;
  1         1  
  1         48  
8 1     1   501 use Anego::Task::Diff;
  1         4  
  1         46  
9 1     1   573 use Anego::Task::SchemaLoader;
  1         2  
  1         36  
10 1     1   487 use Anego::Util;
  1         2  
  1         233  
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->target(@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;