- " 'primary_key' => '". $self->table($table)->primary_key. "',\n".
- " 'unique' => [ ". join(', ',
- map { "[ '". join("', '", @{$_}). "' ]" }
- @{$self->table($table)->unique->lol_ref}
- ). " ],\n".
- " 'index' => [ ". join(', ',
- map { "[ '". join("', '", @{$_}). "' ]" }
- @{$self->table($table)->index->lol_ref}
- ). " ],\n"
- #" 'index' => [ ". " ],\n"
+ " 'primary_key' => '". $table->primary_key. "',\n".
+
+ #old style index representation..
+
+ (
+ $table->{'unique'} # $table->_unique
+ ? " 'unique' => [ ". join(', ',
+ map { "[ '". join("', '", @{$_}). "' ]" }
+ @{$table->_unique->lol_ref}
+ ). " ],\n"
+ : ''
+ ).
+
+ ( $table->{'index'} # $table->_index
+ ? " 'index' => [ ". join(', ',
+ map { "[ '". join("', '", @{$_}). "' ]" }
+ @{$table->_index->lol_ref}
+ ). " ],\n"
+ : ''
+ ).
+
+ #new style indices
+ " 'indices' => { ". join( ",\n ",
+
+ map { my $iname = $_;
+ my $index = $indices{$iname};
+ "'$iname' => { \n".
+ ( $index->using
+ ? " 'using' => '". $index->using ."',\n"
+ : ''
+ ).
+ " 'unique' => ". $index->unique .",\n".
+ " 'columns' => [ '".
+ join("', '", @{$index->columns} ).
+ "' ],\n".
+ " },\n";
+ }
+ keys %indices
+
+ ). "\n }, \n".
+
+ #foreign_keys
+ " 'foreign_keys' => [ ". join( ",\n ",
+
+ map { my $name = $_->constraint;
+ "'$name' => { \n".
+ " },\n";
+ }
+ $table->foreign_keys
+
+ ). "\n ], \n"
+
+ ;
+