+# ----------------------------------------------------------
+# 0.11008 2011-05-04
+# ----------------------------------------------------------
* Correctly create and parse FK constraints in SQLite
* Correct postgis geography type insertion and linebreak fix for multiple geometry/geography columns
* Quote everything in SQL Server
* Turn off constraints before dropping tables in SQL Server
* Make true unique constraints if needed in SQL Server
-* Fixed Producer::PostgresSQL to output array type after type size,
+* Fixed Producer::PostgresSQL to output array type after type size,
i.e. varchar(64)[] rather than varchar[](64)
# ----------------------------------------------------------
require 5.005;
-$VERSION = '0.11007';
+$VERSION = '0.11008';
$DEBUG = 0 unless defined $DEBUG;
$ERROR = "";
$self->trace( $config->{'trace'} );
$self->validate( $config->{'validate'} );
-
- $self->quote_table_names( (defined $config->{'quote_table_names'}
+
+ $self->quote_table_names( (defined $config->{'quote_table_names'}
? $config->{'quote_table_names'} : 1) );
- $self->quote_field_names( (defined $config->{'quote_field_names'}
+ $self->quote_field_names( (defined $config->{'quote_field_names'}
? $config->{'quote_field_names'} : 1) );
return $self;
# ----------------------------------------------------------------------
# Does the get/set work for parser and producer. e.g.
-# return $self->_tool({
-# name => 'producer',
+# return $self->_tool({
+# name => 'producer',
# path => "SQL::Translator::Producer",
# default_sub => "produce",
# }, @_);
my $path = $args->{path};
my $default_sub = $args->{default_sub};
my $tool = shift;
-
+
# passed an anonymous subroutine reference
if (isa($tool, 'CODE')) {
$self->{$name} = $tool;
my $uctype = ucfirst lc $type;
#
- # First find all the directories where SQL::Translator
+ # First find all the directories where SQL::Translator
# parsers or producers (the "type") appear to live.
#
load("SQL::Translator::$uctype") or return ();
}
#
- # Now use File::File::find to look recursively in those
+ # Now use File::File::find to look recursively in those
# directories for all the *.pm files, then present them
# with the slashes turned into dashes.
#
my %found;
- find(
- sub {
+ find(
+ sub {
if ( -f && m/\.pm$/ ) {
my $mod = $_;
$mod =~ s/\.pm$//;
return $module if $INC{$file}; # Already loaded
eval { require $file };
- next if $@ =~ /Can't locate $file in \@INC/;
+ next if $@ =~ /Can't locate $file in \@INC/;
eval { $module->import() } unless $@;
return __PACKAGE__->error("Error loading $name as $module : $@")
if $@ && $@ !~ /"SQL::Translator::Producer" is not exported/;
=head2 add_drop_table
-Toggles whether or not to add "DROP TABLE" statements just before the
+Toggles whether or not to add "DROP TABLE" statements just before the
create definitions.
=head2 quote_table_names
define what subroutine is called to produce the output. A subroutine
defined as a producer will be invoked as a function (I<not a method>)
and passed its container C<SQL::Translator> instance, which it should
-call the C<schema> method on, to get the C<SQL::Translator::Schema>
+call the C<schema> method on, to get the C<SQL::Translator::Schema>
generated by the parser. It is expected that the function transform the
-schema structure to a string. The C<SQL::Translator> instance is also useful
+schema structure to a string. The C<SQL::Translator> instance is also useful
for informational purposes; for example, the type of the parser can be
retrieved using the C<parser_type> method, and the C<error> and
C<debug> methods can be called when needed.
=head1 PRAISE
-If you find this module useful, please use
+If you find this module useful, please use
L<http://cpanratings.perl.org/rate/?distribution=SQL-Translator> to rate it.
=head1 SEE ALSO