5 use Test::SQL::Translator;
9 use SQL::Translator::Diff;
12 maybe_plan(3, 'SQL::Translator::Parser::YAML',
13 'SQL::Translator::Producer::Oracle');
16 my $schema1 = $Bin.'/data/oracle/schema_diff_a.yaml';
17 my $schema2 = $Bin.'/data/oracle/schema_diff_b.yaml';
19 open my $io1, '<', $schema1 or die $!;
20 open my $io2, '<', $schema2 or die $!;
32 my $s = SQL::Translator->new(from => 'YAML');
33 $s->parser->($s,$yaml1);
35 my $t = SQL::Translator->new(from => 'YAML');
36 $t->parser->($t,$yaml2);
38 my $d = SQL::Translator::Diff->new
40 output_db => 'Oracle',
41 target_db => 'Oracle',
42 source_schema => $s->schema,
43 target_schema => $t->schema,
47 my $diff = $d->compute_differences->produce_diff_sql || die $d->error;
49 ok($diff, 'Diff generated.');
50 like($diff, '/ALTER TABLE d_operator MODIFY \( name nvarchar2\(10\) \)/',
51 'Alter table generated.');
52 like($diff, '/ALTER TABLE d_operator MODIFY \( other nvarchar2\(10\) NOT NULL \)/',
53 'Alter table generated.');