Mercurial > pub > Impl
comparison _test/Test/SQL/Diff.pm @ 169:fd92830036c3
corrected IMPL::SQL::Schema::Diff
author | sourcer |
---|---|
date | Tue, 17 May 2011 00:04:28 +0400 |
parents | 6148f89bb7bf |
children | d1676be8afcc |
comparison
equal
deleted
inserted
replaced
168:6148f89bb7bf | 169:fd92830036c3 |
---|---|
12 __PACKAGE__->PassThroughArgs; | 12 __PACKAGE__->PassThroughArgs; |
13 | 13 |
14 test diff => sub { | 14 test diff => sub { |
15 my $schemaSrc = new IMPL::SQL::Schema(name => 'simple', version => 1 ); | 15 my $schemaSrc = new IMPL::SQL::Schema(name => 'simple', version => 1 ); |
16 | 16 |
17 $schemaSrc->AddTable({ | 17 my $tbl = $schemaSrc->AddTable({ |
18 name => 'User', | 18 name => 'User', |
19 columns => [ | 19 columns => [ |
20 { name => 'name', type => Varchar(255) } | 20 { name => 'name', type => Varchar(255) }, |
21 { name => 'description', type => Varchar(255) } | |
21 ] | 22 ] |
22 }); | 23 }); |
24 | |
25 $tbl->AddConstraint( unique => { name => 'unique_name', columns => ['name'] }); | |
23 | 26 |
24 my $schemaDst = new IMPL::SQL::Schema(name => 'simple', version => 2 ); | 27 my $schemaDst = new IMPL::SQL::Schema(name => 'simple', version => 2 ); |
25 | 28 |
26 my $users = $schemaDst->AddTable({ | 29 my $users = $schemaDst->AddTable({ |
27 name => 'User', | 30 name => 'User', |
31 { name => 'description', type => Text, isNullable => 1 } | 34 { name => 'description', type => Text, isNullable => 1 } |
32 ] | 35 ] |
33 }); | 36 }); |
34 | 37 |
35 $users->SetPrimaryKey('id'); | 38 $users->SetPrimaryKey('id'); |
36 $users->AddConstraint( unique => { name => 'unique_user_login', columns => ['login'] } ); | 39 $users->AddConstraint( unique => { name => 'unique_login', columns => ['login'] } ); |
37 | 40 |
38 warn Dumper(IMPL::SQL::Schema::Traits::Diff->Diff($schemaSrc,$schemaDst)); | 41 warn Dumper(IMPL::SQL::Schema::Traits::Diff->Diff($schemaSrc,$schemaDst)); |
39 | 42 |
40 $schemaSrc->Dispose; | 43 $schemaSrc->Dispose; |
41 $schemaDst->Dispose; | 44 $schemaDst->Dispose; |