Release commit for 1.62
[dbsrgits/SQL-Translator.git] / t / 54-oracle-alter-field.t
CommitLineData
9556363f 1#!/usr/bin/perl
2
3use FindBin qw/$Bin/;
4use Test::More;
5use Test::SQL::Translator;
6use Test::Exception;
7use Data::Dumper;
8use SQL::Translator;
9use SQL::Translator::Diff;
10
11BEGIN {
d888d445 12 maybe_plan(3, 'SQL::Translator::Parser::YAML',
9556363f 13 'SQL::Translator::Producer::Oracle');
14}
15
16my $schema1 = $Bin.'/data/oracle/schema_diff_a.yaml';
17my $schema2 = $Bin.'/data/oracle/schema_diff_b.yaml';
18
19open my $io1, '<', $schema1 or die $!;
20open my $io2, '<', $schema2 or die $!;
21
22my ($yaml1, $yaml2);
23{
24 local $/ = undef;
25 $yaml1 = <$io1>;
26 $yaml2 = <$io2>;
27};
28
29close $io1;
30close $io2;
31
32my $s = SQL::Translator->new(from => 'YAML');
33$s->parser->($s,$yaml1);
34
35my $t = SQL::Translator->new(from => 'YAML');
36$t->parser->($t,$yaml2);
37
38my $d = SQL::Translator::Diff->new
39 ({
40 output_db => 'Oracle',
7ac8031f 41 target_db => 'Oracle',
9556363f 42 source_schema => $s->schema,
43 target_schema => $t->schema,
44 });
45
46
47my $diff = $d->compute_differences->produce_diff_sql || die $d->error;
48
49ok($diff, 'Diff generated.');
d888d445 50like($diff, '/ALTER TABLE d_operator MODIFY \( name nvarchar2\(10\) \)/',
51 'Alter table generated.');
52like($diff, '/ALTER TABLE d_operator MODIFY \( other nvarchar2\(10\) NOT NULL \)/',
9556363f 53 'Alter table generated.');