X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FSchema%2FTable.pm;h=b9c1247d9f73630982e8d1b16f787d28c9d2f2c1;hb=b178940934ec79968ed16511ec2644f3736c92f2;hp=c178ba522a807870dd95780b89ebe6fa65ffad89;hpb=719915f29204d1ad9764a416844c7bf7a41d7d22;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Schema/Table.pm b/lib/SQL/Translator/Schema/Table.pm index c178ba5..b9c1247 100644 --- a/lib/SQL/Translator/Schema/Table.pm +++ b/lib/SQL/Translator/Schema/Table.pm @@ -1,7 +1,7 @@ package SQL::Translator::Schema::Table; # ---------------------------------------------------------------------- -# $Id: Table.pm,v 1.26 2004-03-29 12:25:54 grommit Exp $ +# $Id: Table.pm,v 1.29 2004-11-05 15:03:10 grommit Exp $ # ---------------------------------------------------------------------- # Copyright (C) 2002-4 SQLFairy Authors # @@ -40,7 +40,6 @@ C is the table object. =cut use strict; -use Class::Base; use SQL::Translator::Utils 'parse_list_arg'; use SQL::Translator::Schema::Constants; use SQL::Translator::Schema::Constraint; @@ -48,10 +47,11 @@ use SQL::Translator::Schema::Field; use SQL::Translator::Schema::Index; use Data::Dumper; -use base 'Class::Base'; +use base 'SQL::Translator::Schema::Object'; + use vars qw( $VERSION $FIELD_ORDER ); -$VERSION = sprintf "%d.%02d", q$Revision: 1.26 $ =~ /(\d+)\.(\d+)/; +$VERSION = sprintf "%d.%02d", q$Revision: 1.29 $ =~ /(\d+)\.(\d+)/; # Stringify to our name, being careful not to pass any args through so we don't @@ -64,7 +64,8 @@ use overload ; # ---------------------------------------------------------------------- -sub init { + +__PACKAGE__->_attributes( qw/schema name comments options order/ ); =pod @@ -79,16 +80,6 @@ Object constructor. =cut - my ( $self, $config ) = @_; - - for my $arg ( qw[ schema name comments ] ) { - next unless defined $config->{ $arg }; - defined $self->$arg( $config->{ $arg } ) or return; - } - - return $self; -} - # ---------------------------------------------------------------------- sub add_constraint { @@ -122,7 +113,7 @@ C object. my %args = @_; $args{'table'} = $self; $constraint = $constraint_class->new( \%args ) or - return $self->error( $constraint_class->error ); + return $self->error( $constraint_class->error ); } # @@ -133,6 +124,9 @@ C object. my $pk = $self->primary_key; if ( $pk && $constraint->type eq PRIMARY_KEY ) { $self->primary_key( $constraint->fields ); + $pk->name($constraint->name) if $constraint->name; + my %extra = $constraint->extra; + $pk->extra(%extra) if keys %extra; $constraint = $pk; $ok = 0; }