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