diff -Nru libdbix-dbschema-perl-0.36/Changes libdbix-dbschema-perl-0.39/Changes --- libdbix-dbschema-perl-0.36/Changes 2007-12-14 01:50:12.000000000 +0000 +++ libdbix-dbschema-perl-0.39/Changes 2010-03-27 04:07:23.000000000 +0000 @@ -1,5 +1,26 @@ Revision history for Perl extension DBIx::DBSchema. +0.39 Fri Mar 26 20:24:58 PDT 2010 + - mysql: TEXT->LONGTEXT + - mysql: when reverse engineering, transform a default of + CURRENT_TIMESTAMP into the more common NOW() + - mysql: fix reverse-engineering of empty string default + +0.38 Thu Jan 14 15:26:13 PST 2010 + - Bump version number for ->quoted_default availability & default + reverse-engineering changes + +0.37 unreleased + - Patch from Slavin Rezic to prevent quoting around + numeric defaults in Pg. + - Pg: use default_db_schema when adding SERIAL columns instead of + hardcoding "public". + - Pg: Initial support for handling changes to a column's type or size. + - Case sensitivity fix for Slavin's patch to prevent quoting around + numeric defaults in Pg. + - Column default values: refactor handling, improve Pg reverse + engineering and implement schema changes. + 0.36 Thu Dec 13 17:49:35 PST 2007 - Patch from ISHIGAKI@cpan.org to suppress unnecessary warnings about undefined local_options, thanks! diff -Nru libdbix-dbschema-perl-0.36/DBSchema/Column.pm libdbix-dbschema-perl-0.39/DBSchema/Column.pm --- libdbix-dbschema-perl-0.36/DBSchema/Column.pm 2007-12-13 22:44:06.000000000 +0000 +++ libdbix-dbschema-perl-0.39/DBSchema/Column.pm 2010-03-27 03:21:29.000000000 +0000 @@ -3,9 +3,9 @@ use strict; use vars qw($VERSION); use Carp; -use DBIx::DBSchema::_util qw(_load_driver _dbh); +use DBIx::DBSchema::_util qw(_load_driver _dbh _parse_opt); -$VERSION = '0.11'; +$VERSION = '0.14'; =head1 NAME @@ -72,7 +72,7 @@ SQL length of the column. B is the default value of the column. B is reserved for database-specific information. -Note: If you pass a scalar reference as the B rather than a scalar value, it will be dereferenced and quoting will be forced off. This can be used to pass SQL functions such as C<$now()> or explicit empty strings as C<''> as +Note: If you pass a scalar reference as the B rather than a scalar value, it will be dereferenced and quoting will be forced off. This can be used to pass SQL functions such as C or explicit empty strings as C<''> as defaults. =cut @@ -248,45 +248,24 @@ my($self, $dbh) = ( shift, _dbh(@_) ); my $driver = $dbh ? _load_driver($dbh) : ''; + my $dbd = "DBIx::DBSchema::DBD::$driver"; ## # type mapping ## my %typemap; - %typemap = eval "\%DBIx::DBSchema::DBD::${driver}::typemap" if $driver; + %typemap = eval "\%${dbd}::typemap" if $driver; my $type = defined( $typemap{uc($self->type)} ) ? $typemap{uc($self->type)} : $self->type; ## - # set default for the callback... - ## - - my $default; - my $orig_default = $self->default; - if ( defined($self->default) && !ref($self->default) && $self->default ne '' - && ref($dbh) - # false laziness: nicked from FS::Record::_quote - && ( $self->default !~ /^\-?\d+(\.\d+)?$/ - || $type =~ /(char|binary|blob|text)$/i - ) - ) { - $default = $dbh->quote($self->default); - } else { - $default = ref($self->default) ? ${$self->default} : $self->default; - } - $self->default($default); - - ## # callback into the database-specific driver ## - my $dbd = "DBIx::DBSchema::DBD::$driver"; my $hashref = $dbd->column_callback( $dbh, $self->table_name, $self ); - $self->default($orig_default); - $type = $hashref->{'effective_type'} if $hashref->{'effective_type'}; @@ -298,8 +277,8 @@ $null =~ s/^NULL$// unless $hashref->{'explicit_null'}; - $default = $hashref->{'effective_default'} - if $hashref->{'effective_default'}; + my $default = $hashref->{'effective_default'} || $self->quoted_default($dbh); + $default = "DEFAULT $default" if $default ne ''; my $local = $self->local; $local = $hashref->{'effective_local'} @@ -316,15 +295,36 @@ : '' ), $null, - ( ( defined($default) && $default ne '' ) - ? 'DEFAULT '. $default - : '' - ), + $default, ( defined($local) ? $local : ''), ); } +=item quoted_default DATABASE_HANDLE + +Returns this column's default value quoted for the database. + +=cut + +sub quoted_default { + my($self, $dbh) = @_; + my $driver = $dbh ? _load_driver($dbh) : ''; + + return ${$self->default} if ref($self->default); + + my $dbd = "DBIx::DBSchema::DBD::$driver"; + + return $dbh->quote($self->default) + if defined($self->default) + && $self->default ne '' + && ref($dbh) + && $dbd->column_value_needs_quoting($self); + + return $self->default; + +} + =item sql_add_column [ DBH ] Returns a list of SQL statements to add this column to an existing table. (To @@ -390,24 +390,20 @@ Returns a list of SQL statements to alter this column so that it is identical to the provided prototype column, also a DBIx::DBSchema::Column object. - #Optionally, the data source can be specified by passing an open DBI database - #handle, or by passing the DBI data source name, username and password. - # - #If passed a DBI data source (or handle) such as `DBI:Pg:dbname=database', will - #use PostgreSQL-specific syntax. Non-standard syntax for other engines (if - #applicable) may also be supported in the future. - # - #If not passed a data source (or handle), or if there is no driver for the - #specified database, will attempt to use generic SQL syntax. +Optionally, the data source can be specified by passing an open DBI database +handle, or by passing the DBI data source name, username and password. +If passed a DBI data source (or handle) such as `DBI:Pg:dbname=database', will +use PostgreSQL-specific syntax. Non-standard syntax for other engines (if +applicable) may also be supported in the future. -Or should, someday. Right now it knows how to change NOT NULL into NULL and -vice-versa. +If not passed a data source (or handle), or if there is no driver for the +specified database, will attempt to use generic SQL syntax. =cut sub sql_alter_column { - my( $self, $new, $dbh ) = ( shift, shift, _dbh(@_) ); + my($self, $opt, $new, $dbh) = ( shift, _parse_opt(\@_), shift, _dbh(@_) ); my $table = $self->table_name; die "$self: this column is not assigned to a table" @@ -422,39 +418,78 @@ my $dbd = "DBIx::DBSchema::DBD::$driver"; my $hashref = $dbd->alter_column_callback( $dbh, $table, $self, $new ); - # change the name... + if ( $hashref->{'sql_alter'} ) { - # change the type... + push @sql, $hashref->{'sql_alter'}; - if ( $hashref->{'sql_alter_null' } ) { + } else { - push @sql, $hashref->{'sql_alter_null'}; + # change the name... + # not yet implemented. how do we tell which old column it was? - } else { + # change the type... + if ( $hashref->{'sql_alter_type'} ) { + push @sql, $hashref->{'sql_alter_type'}; + } + + # change nullability... + + if ( $hashref->{'sql_alter_null'} ) { + + push @sql, $hashref->{'sql_alter_null'}; + + } else { + + # change nullability from NOT NULL to NULL + if ( ! $self->null && $new->null ) { + + push @sql, "ALTER TABLE $table ALTER COLUMN $name DROP NOT NULL"; + + } + + # change nullability from NULL to NOT NULL... + # this one could be more complicated, need to set a DEFAULT value and update + # the table first... + if ( $self->null && ! $new->null ) { + + push @sql, "ALTER TABLE $table ALTER COLUMN $name SET NOT NULL"; + + } - # change nullability from NOT NULL to NULL - if ( ! $self->null && $new->null ) { - - push @sql, "ALTER TABLE $table ALTER COLUMN $name DROP NOT NULL"; - } - - # change nullability from NULL to NOT NULL... - # this one could be more complicated, need to set a DEFAULT value and update - # the table first... - if ( $self->null && ! $new->null ) { - - push @sql, "ALTER TABLE $table ALTER COLUMN $name SET NOT NULL"; - + + # change default + my $old_default = $self->quoted_default($dbh); + my $new_default = $new->quoted_default($dbh); + if ( $old_default ne $new_default + && ( uc($old_default) ne 'NOW()' || uc($new_default) ne 'NOW()' ) + ) + { + + #warn "old default: $old_default / new default: $new_default\n"; + + my $alter = "ALTER TABLE $table ALTER COLUMN $name"; + + if ( $new_default ne '' ) { + #warn "changing from $old_default to $new_default\n"; + push @sql, "$alter SET DEFAULT $new_default"; + } elsif ( $old_default !~ /^nextval/i ) { #Pg-specific :( + push @sql, "$alter DROP DEFAULT"; + + push @sql, "UPDATE TABLE $table SET $name = NULL WHERE $name = ''" + if $opt->{'nullify_default'} && $old_default eq "''" && $new->null; + } + } + # change other stuff... (what next?) + } - - # change other stuff... @sql; } + =item sql_drop_column [ DBH ] Returns a list of SQL statements to drop this column from an existing table. @@ -482,7 +517,7 @@ =head1 COPYRIGHT Copyright (c) 2000-2006 Ivan Kohler -Copyright (c) 2007 Freeside Internet Services, Inc. +Copyright (c) 2007-2010 Freeside Internet Services, Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. @@ -494,8 +529,10 @@ Better documentation is needed for sql_add_column -line() and sql_add_column() hav database-specific foo that should be abstracted -into the DBIx::DBSchema:DBD:: modules. +sql_alter_column() has database-specific foo that should be abstracted info +DBIx::DBSchema::DBD::Pg + +nullify_default option should be documented =head1 SEE ALSO diff -Nru libdbix-dbschema-perl-0.36/DBSchema/DBD/mysql.pm libdbix-dbschema-perl-0.39/DBSchema/DBD/mysql.pm --- libdbix-dbschema-perl-0.36/DBSchema/DBD/mysql.pm 2007-10-28 12:53:17.000000000 +0000 +++ libdbix-dbschema-perl-0.39/DBSchema/DBD/mysql.pm 2010-03-27 04:08:05.000000000 +0000 @@ -4,7 +4,7 @@ use vars qw($VERSION @ISA %typemap); use DBIx::DBSchema::DBD; -$VERSION = '0.06'; +$VERSION = '0.08'; @ISA = qw(DBIx::DBSchema::DBD); %typemap = ( @@ -13,6 +13,7 @@ 'BIGSERIAL' => 'BIGINT', 'BOOL' => 'TINYINT', 'LONG VARBINARY' => 'LONGBLOB', + 'TEXT' => 'LONGTEXT', ); =head1 NAME @@ -45,12 +46,22 @@ $_->{'Type'} =~ /^(\w+)\(?([^)]+)?\)?( \d+)?$/ or die "Illegal type: ". $_->{'Type'}. "\n"; my($type, $length) = ($1, $2); + + my $default = $_->{'Default'}; + if ( defined($default) ) { + $default = \"''" if $default eq ''; + $default = \0 if $default eq '0'; + $default = \'NOW()' if uc($default) eq 'CURRENT_TIMESTAMP'; + } else { + $default = ''; + } + [ $_->{'Field'}, $type, ( $_->{'Null'} =~ /^YES$/i ? 'NULL' : '' ), $length, - $_->{'Default'}, + $default, $_->{'Extra'} ] } @{ $sth->fetchall_arrayref( {} ) }; @@ -120,7 +131,7 @@ $hashref->{'effective_local'} = 'AUTO_INCREMENT' if $column_obj->type =~ /^(\w*)SERIAL$/i; - if ( $column_obj->default =~ /^(NOW)\(\)$/i + if ( $column_obj->quoted_default =~ /^(NOW)\(\)$/i && $column_obj->type =~ /^(TIMESTAMP|DATETIME)$/i ) { $hashref->{'effective_default'} = 'CURRENT_TIMESTAMP'; @@ -162,7 +173,7 @@ Copyright (c) 2000 Ivan Kohler Copyright (c) 2000 Mail Abuse Prevention System LLC -Copyright (c) 2007 Freeside Internet Services, Inc. +Copyright (c) 2007-2010 Freeside Internet Services, Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff -Nru libdbix-dbschema-perl-0.36/DBSchema/DBD/Pg.pm libdbix-dbschema-perl-0.39/DBSchema/DBD/Pg.pm --- libdbix-dbschema-perl-0.36/DBSchema/DBD/Pg.pm 2007-10-25 09:30:46.000000000 +0100 +++ libdbix-dbschema-perl-0.39/DBSchema/DBD/Pg.pm 2010-01-09 09:44:51.000000000 +0000 @@ -5,7 +5,7 @@ use DBD::Pg 1.32; use DBIx::DBSchema::DBD; -$VERSION = '0.12'; +$VERSION = '0.17'; @ISA = qw(DBIx::DBSchema::DBD); die "DBD::Pg version 1.32 or 1.41 (or later) required--". @@ -52,6 +52,18 @@ map { + my $type = $_->{'typname'}; + $type = 'char' if $type eq 'bpchar'; + + my $len = ''; + if ( $_->{attlen} == -1 && $_->{atttypmod} != -1 + && $_->{typname} ne 'text' ) { + $len = $_->{atttypmod} - 4; + if ( $_->{typname} eq 'numeric' ) { + $len = ($len >> 16). ','. ($len & 0xffff); + } + } + my $default = ''; if ( $_->{atthasdef} ) { my $attnum = $_->{attnum}; @@ -62,19 +74,22 @@ $d_sth->execute or die $d_sth->errstr; $default = $d_sth->fetchrow_arrayref->[0]; - }; - my $len = ''; - if ( $_->{attlen} == -1 && $_->{atttypmod} != -1 - && $_->{typname} ne 'text' ) { - $len = $_->{atttypmod} - 4; - if ( $_->{typname} eq 'numeric' ) { - $len = ($len >> 16). ','. ($len & 0xffff); + if ( _type_needs_quoting($type) ) { + $default =~ s/::([\w ]+)$//; #save typecast info? + if ( $default =~ /^'(.*)'$/ ) { + $default = $1; + $default = \"''" if $default eq ''; + } else { + my $value = $default; + $default = \$value; + } + } elsif ( $default =~ /^[a-z]/i ) { #sloppy, but it'll do + my $value = $default; + $default = \$value; } - } - my $type = $_->{'typname'}; - $type = 'char' if $type eq 'bpchar'; + } [ $_->{'attname'}, @@ -177,7 +192,8 @@ my $nextval; warn $warning if $warning; if ( $pg_server_version >= 70300 ) { - $nextval = "nextval('public.${table}_${name}_seq'::text)"; + my $db_schema = default_db_schema(); + $nextval = "nextval('$db_schema.${table}_${name}_seq'::text)"; } else { $nextval = "nextval('${table}_${name}_seq'::text)"; } @@ -218,6 +234,21 @@ my( $proto, $dbh, $table, $old_column, $new_column ) = @_; my $name = $old_column->name; + my %canonical = ( + 'SMALLINT' => 'INT2', + 'INT' => 'INT4', + 'BIGINT' => 'INT8', + 'SERIAL' => 'INT4', + 'BIGSERIAL' => 'INT8', + 'DECIMAL' => 'NUMERIC', + 'REAL' => 'FLOAT4', + 'BLOB' => 'BYTEA', + 'TIMESTAMP' => 'TIMESTAMPTZ', + ); + foreach ($old_column, $new_column) { + $_->type($canonical{uc($_->type)}) if $canonical{uc($_->type)}; + } + my $pg_server_version = $dbh->{'pg_server_version'}; my $warning = ''; unless ( $pg_server_version =~ /\d/ ) { @@ -227,6 +258,30 @@ my $hashref = {}; + #change type + if ( ( $canonical{uc($old_column->type)} || uc($old_column->type) ) + ne ( $canonical{uc($new_column->type)} || uc($new_column->type) ) + || $old_column->length ne $new_column->length + ) + { + + warn $warning if $warning; + if ( $pg_server_version >= 80000 ) { + + $hashref->{'sql_alter_type'} = + "ALTER TABLE $table ALTER COLUMN ". $new_column->name. + " TYPE ". $new_column->type. + ( ( defined($new_column->length) && $new_column->length ) + ? '('.$new_column->length.')' + : '' + ) + + } else { + warn "WARNING: can't yet change column types for Pg < version 8\n"; + } + + } + # change nullability from NOT NULL to NULL if ( ! $old_column->null && $new_column->null ) { @@ -263,6 +318,28 @@ } +sub column_value_needs_quoting { + my($proto, $col) = @_; + _type_needs_quoting($col->type); +} + +sub _type_needs_quoting { + my $type = shift; + $type !~ m{^( + int(?:2|4|8)? + | smallint + | integer + | bigint + | (?:numeric|decimal)(?:\(\d+(?:\s*\,\s*\d+\))?)? + | real + | double\s+precision + | float(?:\(\d+\))? + | serial(?:4|8)? + | bigserial + )$}ix; +} + + =head1 AUTHOR Ivan Kohler @@ -271,7 +348,7 @@ Copyright (c) 2000 Ivan Kohler Copyright (c) 2000 Mail Abuse Prevention System LLC -Copyright (c) 2007 Freeside Internet Services, Inc. +Copyright (c) 2009-2010 Freeside Internet Services, Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff -Nru libdbix-dbschema-perl-0.36/DBSchema/DBD.pm libdbix-dbschema-perl-0.39/DBSchema/DBD.pm --- libdbix-dbschema-perl-0.36/DBSchema/DBD.pm 2007-10-25 09:30:46.000000000 +0100 +++ libdbix-dbschema-perl-0.39/DBSchema/DBD.pm 2010-01-09 04:30:48.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION); -$VERSION = '0.05'; +$VERSION = '0.07'; =head1 NAME @@ -198,14 +198,39 @@ Should return a hash reference, empty for no action, or with one or more of the following keys defined: -sql_alter_null - Alter SQL statment for changing nullability to be used instead of the default +sql_alter - Alter SQL statement(s) for changing everything about a column. Specifying this overrides processing of individual changes (type, nullability, default, etc.). + +sql_alter_type - Alter SQL statement(s) for changing type and length (there is no default). + +sql_alter_null - Alter SQL statement(s) for changing nullability to be used instead of the default. =cut sub alter_column_callback { {}; } +=item column_value_needs_quoting COLUMN_OBJ + +Optional callback for determining if a column's default value require quoting. +Returns true if it does, false otherwise. + =cut +sub column_value_needs_quoting { + my($proto, $col) = @_; + my $class = ref($proto) || $proto; + + # type mapping + my %typemap = eval "\%${class}::typemap"; + my $type = defined( $typemap{uc($col->type)} ) + ? $typemap{uc($col->type)} + : $col->type; + + # false laziness: nicked from FS::Record::_quote + $col->default !~ /^\-?\d+(\.\d+)?$/ + || $type =~ /(char|binary|blob|text)$/i; + +} + =back =head1 TYPE MAPPING @@ -233,7 +258,7 @@ =head1 COPYRIGHT Copyright (c) 2000-2005 Ivan Kohler -Copyright (c) 2007 Freeside Internet Services, Inc. +Copyright (c) 2007-2010 Freeside Internet Services, Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff -Nru libdbix-dbschema-perl-0.36/DBSchema/Table.pm libdbix-dbschema-perl-0.39/DBSchema/Table.pm --- libdbix-dbschema-perl-0.36/DBSchema/Table.pm 2007-11-07 21:06:43.000000000 +0000 +++ libdbix-dbschema-perl-0.39/DBSchema/Table.pm 2010-01-09 08:15:21.000000000 +0000 @@ -4,13 +4,13 @@ use vars qw($VERSION $DEBUG %create_params); use Carp; #use Exporter; -use DBIx::DBSchema::_util qw(_load_driver _dbh); -use DBIx::DBSchema::Column 0.07; +use DBIx::DBSchema::_util qw(_load_driver _dbh _parse_opt); +use DBIx::DBSchema::Column 0.14; use DBIx::DBSchema::Index; use DBIx::DBSchema::ColGroup::Unique; use DBIx::DBSchema::ColGroup::Index; -$VERSION = '0.07'; +$VERSION = '0.08'; $DEBUG = 0; =head1 NAME @@ -617,7 +617,7 @@ #gosh, false laziness w/DBSchema::sql_update_schema sub sql_alter_table { - my( $self, $new, $dbh ) = ( shift, shift, _dbh(@_) ); + my($self, $opt, $new, $dbh) = ( shift, _parse_opt(\@_), shift, _dbh(@_) ); my $driver = _load_driver($dbh); @@ -636,23 +636,20 @@ if ( $self->column($column) ) { warn " $table.$column exists\n" if $DEBUG > 1; - - push @r, - $self->column($column)->sql_alter_column( $new->column($column), $dbh ); + push @r, $self->column($column)->sql_alter_column( $new->column($column), + $dbh, + $opt, + ); } else { warn "column $table.$column does not exist.\n" if $DEBUG > 1; - - push @r, - $new->column($column)->sql_add_column( $dbh ); + push @r, $new->column($column)->sql_add_column( $dbh ); } } - #should eventually drop columns not in $new... - ### # indices ### @@ -764,7 +761,7 @@ Copyright (c) 2000-2007 Ivan Kohler Copyright (c) 2000 Mail Abuse Prevention System LLC -Copyright (c) 2007 Freeside Internet Services, Inc. +Copyright (c) 2007-2010 Freeside Internet Services, Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. @@ -782,8 +779,6 @@ Some of the logic in new_odbc might be better abstracted into Column.pm etc. -sql_alter_table ought to drop columns not in $new - Add methods to get and set specific indices, by name? (like column COLUMN_NAME) indices method should be a setter, not just a getter? diff -Nru libdbix-dbschema-perl-0.36/DBSchema.pm libdbix-dbschema-perl-0.39/DBSchema.pm --- libdbix-dbschema-perl-0.36/DBSchema.pm 2007-11-07 21:06:42.000000000 +0000 +++ libdbix-dbschema-perl-0.39/DBSchema.pm 2010-03-27 03:31:49.000000000 +0000 @@ -4,13 +4,13 @@ use vars qw($VERSION $DEBUG $errstr); use Storable; use DBIx::DBSchema::_util qw(_load_driver _dbh _parse_opt); -use DBIx::DBSchema::Table 0.05; +use DBIx::DBSchema::Table 0.08; use DBIx::DBSchema::Index; use DBIx::DBSchema::Column; use DBIx::DBSchema::ColGroup::Unique; use DBIx::DBSchema::ColGroup::Index; -$VERSION = "0.36"; +$VERSION = "0.39"; $VERSION = eval $VERSION; # modperlstyle: convert the string into a number $DEBUG = 0; @@ -276,7 +276,6 @@ #gosh, false laziness w/DBSchema::Table::sql_alter_schema sub sql_update_schema { - #my($self, $new, $dbh) = ( shift, shift, _dbh(@_) ); my($self, $opt, $new, $dbh) = ( shift, _parse_opt(\@_), shift, _dbh(@_) ); my @r = (); @@ -287,8 +286,10 @@ warn "$table exists\n" if $DEBUG > 1; - push @r, - $self->table($table)->sql_alter_table( $new->table($table), $dbh ); + push @r, $self->table($table)->sql_alter_table( $new->table($table), + $dbh, + $opt + ); } else { @@ -370,7 +371,12 @@ "'". $table->column($_)->type. "', ". "'". $table->column($_)->null. "', ". "'". $table->column($_)->length. "', ". - "'". $table->column($_)->default. "', ". + + ( ref($table->column($_)->default) + ? "\\'". ${ $table->column($_)->default }. "'" + : "'". $table->column($_)->default. "'" + ).', '. + "'". $table->column($_)->local. "',\n" } $table->columns ). @@ -516,7 +522,7 @@ Copyright (c) 2000-2007 Ivan Kohler Copyright (c) 2000 Mail Abuse Prevention System LLC -Copyright (c) 2007 Freeside Internet Services, Inc. +Copyright (c) 2007-2010 Freeside Internet Services, Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. @@ -527,9 +533,7 @@ Foreign keys and other constraints are not yet supported. -Eventually it would be nice to have additional transformations (deleted, -modified columns). sql_update_schema doesn't deal with deleted or modified -columns yet. +sql_update_schema doesn't deal with deleted columns yet. Need to port and test with additional databases diff -Nru libdbix-dbschema-perl-0.36/debian/changelog libdbix-dbschema-perl-0.39/debian/changelog --- libdbix-dbschema-perl-0.36/debian/changelog 2010-05-09 19:01:51.000000000 +0100 +++ libdbix-dbschema-perl-0.39/debian/changelog 2010-05-09 19:01:51.000000000 +0100 @@ -1,3 +1,34 @@ +libdbix-dbschema-perl (0.39-1) unstable; urgency=low + + * New upstream release + + -- Ivan Kohler Fri, 26 Mar 2010 23:25:20 -0700 + +libdbix-dbschema-perl (0.38-1) unstable; urgency=low + + * New upstream release + * debhelper compat 5 + + -- Ivan Kohler Wed, 24 Mar 2010 17:03:24 -0700 + +libdbix-dbschema-perl (0.38~01-1) unstable; urgency=low + + * new upstream (test) release + + -- Ivan Kohler Sat, 09 Jan 2010 02:03:36 -0800 + +libdbix-dbschema-perl (0.37~04-1) unstable; urgency=low + + * new upstream (test) release + + -- Ivan Kohler Sat, 09 Jan 2010 00:26:58 -0800 + +libdbix-dbschema-perl (0.37~03-1) unstable; urgency=low + + * new upstream (test) release + + -- Ivan Kohler Sun, 06 Dec 2009 13:37:29 -0800 + libdbix-dbschema-perl (0.36-1) unstable; urgency=low * new upstream release diff -Nru libdbix-dbschema-perl-0.36/debian/compat libdbix-dbschema-perl-0.39/debian/compat --- libdbix-dbschema-perl-0.36/debian/compat 2006-02-16 14:20:25.000000000 +0000 +++ libdbix-dbschema-perl-0.39/debian/compat 2010-05-09 19:01:51.000000000 +0100 @@ -1 +1 @@ -4 +5 diff -Nru libdbix-dbschema-perl-0.36/debian/CVS/Baserev libdbix-dbschema-perl-0.39/debian/CVS/Baserev --- libdbix-dbschema-perl-0.36/debian/CVS/Baserev 1970-01-01 01:00:00.000000000 +0100 +++ libdbix-dbschema-perl-0.39/debian/CVS/Baserev 2010-05-09 19:01:51.000000000 +0100 @@ -0,0 +1 @@ +Bchangelog/1.10/ diff -Nru libdbix-dbschema-perl-0.36/debian/CVS/Entries libdbix-dbschema-perl-0.39/debian/CVS/Entries --- libdbix-dbschema-perl-0.36/debian/CVS/Entries 1970-01-01 01:00:00.000000000 +0100 +++ libdbix-dbschema-perl-0.39/debian/CVS/Entries 2010-05-09 19:01:51.000000000 +0100 @@ -0,0 +1,7 @@ +/compat/1.1/Thu Feb 16 14:20:25 2006// +/copyright/1.1/Thu Feb 16 14:20:25 2006// +/control/1.2/Thu Mar 30 13:42:42 2006// +/rules/1.3/Sat Sep 22 23:09:36 2007// +/watch/1.2/Fri Dec 14 02:06:39 2007// +/changelog/1.15/Sat Jan 9 10:06:55 2010// +D diff -Nru libdbix-dbschema-perl-0.36/debian/CVS/Repository libdbix-dbschema-perl-0.39/debian/CVS/Repository --- libdbix-dbschema-perl-0.36/debian/CVS/Repository 1970-01-01 01:00:00.000000000 +0100 +++ libdbix-dbschema-perl-0.39/debian/CVS/Repository 2010-05-09 19:01:51.000000000 +0100 @@ -0,0 +1 @@ +DBIx-DBSchema/debian diff -Nru libdbix-dbschema-perl-0.36/debian/CVS/Root libdbix-dbschema-perl-0.39/debian/CVS/Root --- libdbix-dbschema-perl-0.36/debian/CVS/Root 1970-01-01 01:00:00.000000000 +0100 +++ libdbix-dbschema-perl-0.39/debian/CVS/Root 2010-05-09 19:01:51.000000000 +0100 @@ -0,0 +1 @@ +ivan@cvs.420.am:/home/cvs/cvsroot diff -Nru libdbix-dbschema-perl-0.36/MANIFEST libdbix-dbschema-perl-0.39/MANIFEST --- libdbix-dbschema-perl-0.36/MANIFEST 2007-06-28 07:15:39.000000000 +0100 +++ libdbix-dbschema-perl-0.39/MANIFEST 2010-03-27 06:23:08.000000000 +0000 @@ -23,3 +23,4 @@ t/load-sqlite.t t/load-sybase.t t/load.t +META.yml Module meta-data (added by MakeMaker) diff -Nru libdbix-dbschema-perl-0.36/META.yml libdbix-dbschema-perl-0.39/META.yml --- libdbix-dbschema-perl-0.36/META.yml 1970-01-01 01:00:00.000000000 +0100 +++ libdbix-dbschema-perl-0.39/META.yml 2010-03-27 06:23:08.000000000 +0000 @@ -0,0 +1,23 @@ +--- #YAML:1.0 +name: DBIx-DBSchema +version: 0.39 +abstract: ~ +author: [] +license: unknown +distribution_type: module +configure_requires: + ExtUtils::MakeMaker: 0 +build_requires: + ExtUtils::MakeMaker: 0 +requires: + DBI: 0 + FreezeThaw: 0 + Storable: 0 +no_index: + directory: + - t + - inc +generated_by: ExtUtils::MakeMaker version 6.55_02 +meta-spec: + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: 1.4 diff -Nru libdbix-dbschema-perl-0.36/README libdbix-dbschema-perl-0.39/README --- libdbix-dbschema-perl-0.36/README 2007-06-28 07:15:39.000000000 +0100 +++ libdbix-dbschema-perl-0.39/README 2010-01-08 23:14:09.000000000 +0000 @@ -2,7 +2,7 @@ Copyright (c) 2000-2007 Ivan Kohler Copyright (c) 2000 Mail Abuse Prevention System LLC -Copyright (c) 2007 Freeside Internet Services, Inc. +Copyright (c) 2007-2010 Freeside Internet Services, Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.