X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FObject%2FTable.pm;fp=lib%2FSQL%2FTranslator%2FObject%2FTable.pm;h=13899338d0b1ed83432cf11dd047e718a2bab2d5;hb=82e209aa083cf5f796661c71a862ebeb2da67e64;hp=dd9e17a1d18e34c6d02566a3d18ca663f8cc337f;hpb=8ef847e2bcf3bb2195967e92a1560662344089df;p=dbsrgits%2FSQL-Translator-2.0-ish.git diff --git a/lib/SQL/Translator/Object/Table.pm b/lib/SQL/Translator/Object/Table.pm index dd9e17a..1389933 100644 --- a/lib/SQL/Translator/Object/Table.pm +++ b/lib/SQL/Translator/Object/Table.pm @@ -208,9 +208,11 @@ class SQL::Translator::Object::Table extends SQL::Translator::Object is dirty { around BUILDARGS(ClassName $self: @args) { my $args = $self->$orig(@args); - my $fields = delete $args->{fields}; - - $args->{columns}{$_} = SQL::Translator::Object::Column->new( name => $_ ) for @$fields; + my $fields = delete $args->{fields} || []; + $fields = ref($fields) eq 'ARRAY' ? $fields : [ $fields ]; + my $ix_hash = Tie::IxHash->new(); + $ix_hash->STORE($_, SQL::Translator::Object::Column->new( name => $_ )) for @$fields; + $args->{columns} = $ix_hash; return $args; }