use MooseX::Declare;
-class SQL::Translator::Object::ForeignKey {
- use SQL::Translator::Types qw(Index PrimaryKey);
- extends 'SQL::Translator::Object::Constraint';
+class SQL::Translator::Object::ForeignKey extends SQL::Translator::Object::Constraint {
+ use MooseX::Types::Moose qw(Maybe Str);
has '+type' => (
- default => 'FOREIGN_KEY',
+ default => 'FOREIGN KEY',
);
- has 'references' => (
- isa => PrimaryKey | Index,
+ 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,
);
}