1 package SQL::Translator::Generator::Role::DDL;
5 requires '_build_shim';
6 requires '_build_type_map';
7 requires 'field_type_size';
11 builder => '_build_shim',
16 builder => '_build_type_map',
19 # would also be handy to have a required size set if there is such a thing
21 sub field_name { $_[0]->shim->quote($_[1]->name) }
23 sub field_nullable { ($_[1]->is_nullable ? 'NULL' : 'NOT NULL' ) }
26 (defined $_[1]->default_value ? 'DEFAULT ' . q(') . $_[1]->default_value . q(') : () )
30 my ($self, $field) = @_;
32 my $field_type = $field->data_type;
33 ($self->type_map->{$field_type} || $field_type).$self->field_type_size($field)