X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FObject%2FColumn.pm;h=16e0a86555249b4c9252658e10b72d50b94128a4;hb=cefb13c8eef4faed9b89ffcedcb1b996b9e329b4;hp=68ed5e8be23d280ad8ab070dbee6bcbf84a2a85c;hpb=76764964788aaca6b6e9a3888d4c424e81de47fd;p=dbsrgits%2FSQL-Translator-2.0-ish.git diff --git a/lib/SQL/Translator/Object/Column.pm b/lib/SQL/Translator/Object/Column.pm index 68ed5e8..16e0a86 100644 --- a/lib/SQL/Translator/Object/Column.pm +++ b/lib/SQL/Translator/Object/Column.pm @@ -1,14 +1,57 @@ package SQL::Translator::Object::Column; +use namespace::autoclean; use Moose; -use MooseX::Types::Moose qw(Bool Int Str); +use MooseX::Types::Moose qw(Bool Int Maybe Str); use SQL::Translator::Types qw(Trigger); +extends 'SQL::Translator::Object'; -has 'name' => (is => 'ro', isa => Str, required => 1); -has 'type' => (is => 'ro', isa => Str, required => 1); -has 'size' => (is => 'ro', isa => Int, required => 1); -has 'is_nullable' => (is => 'ro', isa => Bool, required => 1, default => 1); -has 'is_auto_increment' => (is => 'ro', isa => Bool, required => 1, default => 0); -has 'default_value' => (is => 'ro', isa => Str, required => 0); -has 'trigger' => (is => 'ro', isa => Trigger, required => 0); +has 'name' => ( + is => 'rw', + isa => Str, + required => 1 +); + +has 'data_type' => ( + is => 'rw', + isa => Int, + required => 1 +); + +has 'size' => ( + is => 'rw', + isa => Maybe[Int], + required => 1 +); + +has 'is_nullable' => ( + is => 'rw', + isa => Bool, + required => 1, + default => 1 +); + +has 'is_auto_increment' => ( + is => 'rw', + isa => Bool, + required => 1, + default => 0 +); + +has 'default_value' => ( + is => 'rw', + isa => Maybe[Str], +); + +has 'remarks' => ( + is => 'rw', + isa => Maybe[Str], +); + +has 'trigger' => ( + is => 'rw', + isa => Trigger, +); + +__PACKAGE__->meta->make_immutable; 1;