Release commit for 1.62
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Producer / JSON.pm
index 0095316..dee6e02 100644 (file)
@@ -18,9 +18,9 @@ This module serializes a schema to a JSON string.
 
 use strict;
 use warnings;
-our $VERSION = '1.00';
+our $VERSION = '1.62';
 
-use JSON;
+use JSON::MaybeXS 'to_json';
 
 sub produce {
     my $translator = shift;
@@ -72,7 +72,7 @@ sub view_table {
         'name'        => $table->name,
         'order'       => $table->order,
         'options'     => $table->options  || [],
-        $table->comments ? ('comments'    => $table->comments ) : (),
+        $table->comments ? ('comments'    => [ $table->comments ] ) : (),
         'constraints' => [
             map { view_constraint($_) } $table->get_constraints
         ],
@@ -119,7 +119,7 @@ sub view_field {
         'is_primary_key'    => scalar $field->is_primary_key,
         'is_unique'         => scalar $field->is_unique,
         $field->is_auto_increment ? ('is_auto_increment' => 1) : (),
-        $field->comments ? ('comments' => $field->comments) : (),
+        $field->comments ? ('comments' => [ $field->comments ]) : (),
         keys %{$field->extra} ? ('extra' => { $field->extra } ) : (),
     };
 }
@@ -149,6 +149,9 @@ sub view_trigger {
         'fields'              => scalar $trigger->fields,
         'on_table'            => scalar $trigger->on_table,
         'action'              => scalar $trigger->action,
+        (defined $trigger->scope ? (
+            'scope'           => scalar $trigger->scope,
+        ) : ()),
         keys %{$trigger->extra} ? ('extra' => { $trigger->extra } ) : (),
     };
 }
@@ -181,7 +184,7 @@ sub view_index {
 
 =head1 SEE ALSO
 
-SQL::Translator, JSON, http://www.json.org/.
+SQL::Translator, JSON::MaybeXS, http://www.json.org/.
 
 =head1 AUTHORS