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