use MooseX::Declare;
class SQL::Translator::Object::ForeignKey {
- use SQL::Translator::Types qw(Index PrimaryKey);
+ use MooseX::Types::Moose qw(ArrayRef Maybe Undef Str);
extends 'SQL::Translator::Object::Constraint';
has '+type' => (
- default => 'FOREIGN_KEY',
+ default => 'FOREIGN KEY',
);
- has 'references' => (
- isa => PrimaryKey | Index,
+ has 'reference_columns' => (
+ isa => ArrayRef | Undef,
+ is => 'rw',
+ auto_deref => 1
+ );
+
+ has 'on_delete' => (
+ isa => Maybe[Str],
+ is => 'rw',
+ );
+
+ has 'on_update' => (
+ isa => Maybe[Str],
+ is => 'rw',
+ );
+
+ has 'reference_table' => (
+ isa => Str,
is => 'rw',
- required => 1,
);
+
+ method reference_fields { return $self->reference_columns }
}