bugfixes
[DBIx-DBSchema.git] / DBSchema.pm
index da182cd..84f7fa2 100644 (file)
@@ -39,7 +39,7 @@ DBIx::DBSchema - Database-independent schema objects
 
   $DBIx_DBSchema_table_object = $schema->table("table_name");
 
-  $sql_string = $schema->sql($dsn);
+  @sql = $schema->sql($dsn);
 
   $perl_code = $schema->pretty_print;
   %hash = eval $perl_code;
@@ -202,7 +202,7 @@ database, will attempt to use generic SQL syntax.
 
 =cut
 
-sub sql_string {
+sub sql {
   my($self, $datasrc) = @_;
   map { $self->table($_)->sql_create_table($datasrc); } $self->tables;
 }
@@ -231,7 +231,8 @@ sub pretty_print {
                          "    '$_', ".
                          "'". $self->table($table)->column($_)->type. "', ".
                          "'". $self->table($table)->column($_)->null. "', ". 
-                         "'". $self->table($table)->column($_)->length. "'\n"
+                         "'". $self->table($table)->column($_)->length. "', ".
+                         "'". $self->table($table)->column($_)->local. "',\n"
                        } $self->table($table)->columns
           ).
         "  ],\n".
@@ -260,20 +261,21 @@ B<pretty_print> method.
 
 sub pretty_read {
   my($proto, $href) = @_;
-  my $schema = proto->new( map {  
+  my $schema = $proto->new( map {  
     my(@columns);
-    while (@{$tables{$_}{'columns'}}) {
-      my($name,$type,$null,$length)=splice @{$tables{$_}{'columns'}}, 0, 4;
-      push @columns, new DBIx::DBSchema::Column ( $name,$type,$null,$length );
+    while ( @{$href->{$_}{'columns'}} ) {
+      push @columns, DBIx::DBSchema::Column->new(
+        splice @{$href->{$_}{'columns'}}, 0, 5
+      );
     }
     DBIx::DBSchema::Table->new(
       $_,
-      $tables{$_}{'primary_key'},
-      DBIx::DBSchema::ColGroup::Unique->new($tables{$_}{'unique'}),
-      DBIx::DBSchema::ColGroup::Index->new($tables{$_}{'index'}),
+      $href->{$_}{'primary_key'},
+      DBIx::DBSchema::ColGroup::Unique->new($href->{$_}{'unique'}),
+      DBIx::DBSchema::ColGroup::Index->new($href->{$_}{'index'}),
       @columns,
     );
-  } (keys %tables) );
+  } (keys %{$href}) );
 }
 
 # private subroutines