Commit | Line | Data |
c5051351 |
1 | package SQL::Translator::Object::Column; |
2 | use Moose; |
7c560496 |
3 | use MooseX::Types::Moose qw(Bool Int Maybe Str); |
c0e05758 |
4 | use SQL::Translator::Types qw(Trigger); |
cc73c25e |
5 | extends 'SQL::Translator::Object'; |
c5051351 |
6 | |
109263d0 |
7 | has 'name' => ( |
f991a2c5 |
8 | is => 'rw', |
109263d0 |
9 | isa => Str, |
10 | required => 1 |
11 | ); |
12 | |
7c560496 |
13 | has 'data_type' => ( |
f991a2c5 |
14 | is => 'rw', |
109263d0 |
15 | isa => Str, |
16 | required => 1 |
17 | ); |
18 | |
19 | has 'size' => ( |
f991a2c5 |
20 | is => 'rw', |
7c560496 |
21 | isa => Maybe[Int], |
109263d0 |
22 | required => 1 |
23 | ); |
24 | |
25 | has 'is_nullable' => ( |
f991a2c5 |
26 | is => 'rw', |
109263d0 |
27 | isa => Bool, |
28 | required => 1, |
29 | default => 1 |
30 | ); |
31 | |
32 | has 'is_auto_increment' => ( |
f991a2c5 |
33 | is => 'rw', |
34 | isa => Bool, |
35 | required => 1, |
36 | default => 0 |
37 | ); |
38 | |
109263d0 |
39 | has 'default_value' => ( |
f991a2c5 |
40 | is => 'rw', |
e157d782 |
41 | isa => Maybe[Str], |
109263d0 |
42 | required => 0 |
43 | ); |
44 | |
e157d782 |
45 | has 'remarks' => ( |
46 | is => 'rw', |
47 | isa => Maybe[Str], |
109263d0 |
48 | required => 0 |
49 | ); |
c5051351 |
50 | |
e157d782 |
51 | has 'trigger' => ( |
f991a2c5 |
52 | is => 'rw', |
e157d782 |
53 | isa => Trigger, |
54 | required => 0 |
f991a2c5 |
55 | ); |
56 | |
7aa485df |
57 | no Moose; |
58 | __PACKAGE__->meta->make_immutable; |
59 | |
c5051351 |
60 | 1; |