projects
/
DBIx-DBSchema.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
FK removal
[DBIx-DBSchema.git]
/
DBSchema
/
Table.pm
diff --git
a/DBSchema/Table.pm
b/DBSchema/Table.pm
index
bf07f0b
..
d096a2e
100644
(file)
--- a/
DBSchema/Table.pm
+++ b/
DBSchema/Table.pm
@@
-5,9
+5,9
@@
use Carp;
use DBIx::DBSchema::_util qw(_load_driver _dbh _parse_opt);
use DBIx::DBSchema::Column 0.14;
use DBIx::DBSchema::Index;
use DBIx::DBSchema::_util qw(_load_driver _dbh _parse_opt);
use DBIx::DBSchema::Column 0.14;
use DBIx::DBSchema::Index;
-use DBIx::DBSchema::ForeignKey;
+use DBIx::DBSchema::ForeignKey
0.11
;
-our $VERSION = '0.1
0
';
+our $VERSION = '0.1
1
';
our $DEBUG = 0;
=head1 NAME
our $DEBUG = 0;
=head1 NAME
@@
-701,10
+701,7
@@
sub sql_alter_constraints {
my @at = ();
my @at = ();
- ###
# foreign keys (add)
# foreign keys (add)
- ###
-
foreach my $foreign_key ( $new->foreign_keys ) {
next if grep $foreign_key->cmp($_), $self->foreign_keys;
foreach my $foreign_key ( $new->foreign_keys ) {
next if grep $foreign_key->cmp($_), $self->foreign_keys;
@@
-712,9
+709,14
@@
sub sql_alter_constraints {
push @at, 'ADD '. $foreign_key->sql_foreign_key;
}
push @at, 'ADD '. $foreign_key->sql_foreign_key;
}
- ###
- # XXX TODO foreign keys modify / drop
- ###
+ #foreign keys (drop)
+ foreach my $foreign_key ( $self->foreign_keys ) {
+
+ next if grep $foreign_key->cmp($_), $new->foreign_keys;
+ next unless $foreign_key->constraint;
+
+ push @at, 'DROP CONSTRAINT '. $foreign_key->constraint;
+ }
return () unless @at;
(
return () unless @at;
(