Commit | Line | Data |
c5051351 |
1 | package SQL::Translator::Object::Table; |
2 | use Moose; |
109263d0 |
3 | use MooseX::Types::Moose qw(HashRef Str); |
4 | use MooseX::AttributeHelpers; |
5 | #use MooseX::Types::Set::Object; |
bbdcd43e |
6 | use SQL::Translator::Types qw(Column Constraint Index Schema); |
7 | use SQL::Translator::Object::Schema; |
cc73c25e |
8 | extends 'SQL::Translator::Object'; |
c5051351 |
9 | |
109263d0 |
10 | has 'name' => ( |
11 | is => 'ro', |
12 | isa => Str, |
13 | required => 1 |
14 | ); |
15 | |
16 | has 'columns' => ( |
17 | metaclass => 'Collection::Hash', |
18 | is => 'rw', |
19 | isa => HashRef[Column], |
20 | required => 1 |
21 | ); |
22 | |
23 | has 'indexes' => ( |
24 | metaclass => 'Collection::Hash', |
25 | is => 'rw', |
26 | isa => HashRef[Index], |
27 | required => 0 |
28 | ); |
29 | |
30 | has 'constraints' => ( |
31 | metaclass => 'Collection::Hash', |
32 | is => 'rw', |
33 | isa => HashRef[Constraint], |
34 | required => 0 |
35 | ); |
36 | |
37 | has 'schema' => ( |
38 | is => 'ro', |
39 | isa => Schema, |
40 | required => 1, |
41 | default => sub { SQL::Translator::Object::Schema->new } |
42 | ); |
c5051351 |
43 | |
44 | 1; |