[Bast-commits] r7986 - in
branches/DBIx-Class-Schema-Loader/current: .
lib/DBIx/Class/Schema lib/DBIx/Class/Schema/Loader
lib/DBIx/Class/Schema/Loader/DBI
lib/DBIx/Class/Schema/Loader/DBI/ODBC
lib/DBIx/Class/Schema/Loader/DBI/Sybase t t/lib
caelum at dev.catalyst.perl.org
caelum at dev.catalyst.perl.org
Sun Nov 29 17:49:40 GMT 2009
Author: caelum
Date: 2009-11-29 17:49:40 +0000 (Sun, 29 Nov 2009)
New Revision: 7986
Removed:
branches/DBIx-Class-Schema-Loader/current/README
Modified:
branches/DBIx-Class-Schema-Loader/current/Makefile.PL
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/Base.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/DB2.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/MSSQL.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/ODBC.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/ODBC/Microsoft_SQL_Server.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/SQLite.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Microsoft_SQL_Server.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm
branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/RelBuilder.pm
branches/DBIx-Class-Schema-Loader/current/t/12pg_common.t
branches/DBIx-Class-Schema-Loader/current/t/20invocations.t
branches/DBIx-Class-Schema-Loader/current/t/22dump.t
branches/DBIx-Class-Schema-Loader/current/t/lib/dbixcsl_common_tests.pm
Log:
fix table count test in common tests, inc version for dev release, add extra tests for table/column comments for Pg, make tests less noisy
Modified: branches/DBIx-Class-Schema-Loader/current/Makefile.PL
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/Makefile.PL 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/Makefile.PL 2009-11-29 17:49:40 UTC (rev 7986)
@@ -123,10 +123,12 @@
}
# Rebuild README for maintainers
-if(-e 'MANIFEST.SKIP') {
+if ($Module::Install::AUTHOR) {
system("pod2text lib/DBIx/Class/Schema/Loader.pm > README");
}
+realclean_files 'README';
+
resources 'IRC' => 'irc://irc.perl.org/#dbix-class';
resources 'license' => 'http://dev.perl.org/licenses/';
resources 'repository' => 'http://dev.catalyst.perl.org/repos/bast/branches/DBIx-Class-Schema-Loader/current/';
Deleted: branches/DBIx-Class-Schema-Loader/current/README
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/README 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/README 2009-11-29 17:49:40 UTC (rev 7986)
@@ -1,241 +0,0 @@
-NAME
- DBIx::Class::Schema::Loader - Dynamic definition of a
- DBIx::Class::Schema
-
-SYNOPSIS
- ### use this module to generate a set of class files
-
- # in a script
- use DBIx::Class::Schema::Loader qw/ make_schema_at /;
- make_schema_at(
- 'My::Schema',
- { debug => 1,
- dump_directory => './lib',
- },
- [ 'dbi:Pg:dbname="foo"', 'myuser', 'mypassword' ],
- );
-
- # from the command line or a shell script with dbicdump (distributed
- # with this module). Do `perldoc dbicdump` for usage.
- dbicdump -o dump_directory=./lib \
- -o debug=1 \
- My::Schema \
- 'dbi:Pg:dbname=foo' \
- myuser \
- mypassword
-
- ### or generate and load classes at runtime
- # note: this technique is not recommended
- # for use in production code
-
- package My::Schema;
- use base qw/DBIx::Class::Schema::Loader/;
-
- __PACKAGE__->loader_options(
- constraint => '^foo.*',
- # debug => 1,
- );
-
- #### in application code elsewhere:
-
- use My::Schema;
-
- my $schema1 = My::Schema->connect( $dsn, $user, $password, $attrs);
- # -or-
- my $schema1 = "My::Schema"; $schema1->connection(as above);
-
-DESCRIPTION
- DBIx::Class::Schema::Loader automates the definition of a
- DBIx::Class::Schema by scanning database table definitions and setting
- up the columns, primary keys, and relationships.
-
- DBIx::Class::Schema::Loader currently supports only the DBI storage
- type. It has explicit support for DBD::Pg, DBD::mysql, DBD::DB2,
- DBD::SQLite, and DBD::Oracle. Other DBI drivers may function to a
- greater or lesser degree with this loader, depending on how much of the
- DBI spec they implement, and how standard their implementation is.
-
- Patches to make other DBDs work correctly welcome.
-
- See DBIx::Class::Schema::Loader::DBI::Writing for notes on writing your
- own vendor-specific subclass for an unsupported DBD driver.
-
- This module requires DBIx::Class 0.07006 or later, and obsoletes the
- older DBIx::Class::Loader.
-
- This module is designed more to get you up and running quickly against
- an existing database, or to be effective for simple situations, rather
- than to be what you use in the long term for a complex database/project.
-
- That being said, transitioning your code from a Schema generated by this
- module to one that doesn't use this module should be straightforward and
- painless, so don't shy away from it just for fears of the transition
- down the road.
-
-METHODS
- loader_class
- Argument: $loader_class
-
- Set the loader class to be instantiated when "connection" is called. If
- the classname starts with "::", "DBIx::Class::Schema::Loader" is
- prepended. Defaults to "storage_type" in DBIx::Class::Schema (which must
- start with "::" when using DBIx::Class::Schema::Loader).
-
- This is mostly useful for subclassing existing loaders or in conjunction
- with "dump_to_dir".
-
- loader_options
- Argument: \%loader_options
-
- Example in Synopsis above demonstrates a few common arguments. For
- detailed information on all of the arguments, most of which are only
- useful in fairly complex scenarios, see the
- DBIx::Class::Schema::Loader::Base documentation.
-
- If you intend to use "loader_options", you must call "loader_options"
- before any connection is made, or embed the "loader_options" in the
- connection information itself as shown below. Setting "loader_options"
- after the connection has already been made is useless.
-
- connection
- Arguments: @args
- Return Value: $new_schema
-
- See "connection" in DBIx::Class::Schema for basic usage.
-
- If the final argument is a hashref, and it contains the keys
- "loader_options" or "loader_class", those keys will be deleted, and
- their values value will be used for the loader options or class,
- respectively, just as if set via the "loader_options" or "loader_class"
- methods above.
-
- The actual auto-loading operation (the heart of this module) will be
- invoked as soon as the connection information is defined.
-
- clone
- See "clone" in DBIx::Class::Schema.
-
- dump_to_dir
- Argument: $directory
-
- Calling this as a class method on either DBIx::Class::Schema::Loader or
- any derived schema class will cause all schemas to dump manual versions
- of themselves to the named directory when they are loaded. In order to
- be effective, this must be set before defining a connection on this
- schema class or any derived object (as the loading happens as soon as
- both a connection and loader_options are set, and only once per class).
-
- See "dump_directory" in DBIx::Class::Schema::Loader::Base for more
- details on the dumping mechanism.
-
- This can also be set at module import time via the import option
- "dump_to_dir:/foo/bar" to DBIx::Class::Schema::Loader, where "/foo/bar"
- is the target directory.
-
- Examples:
-
- # My::Schema isa DBIx::Class::Schema::Loader, and has connection info
- # hardcoded in the class itself:
- perl -MDBIx::Class::Schema::Loader=dump_to_dir:/foo/bar -MMy::Schema -e1
-
- # Same, but no hard-coded connection, so we must provide one:
- perl -MDBIx::Class::Schema::Loader=dump_to_dir:/foo/bar -MMy::Schema -e 'My::Schema->connection("dbi:Pg:dbname=foo", ...)'
-
- # Or as a class method, as long as you get it done *before* defining a
- # connection on this schema class or any derived object:
- use My::Schema;
- My::Schema->dump_to_dir('/foo/bar');
- My::Schema->connection(........);
-
- # Or as a class method on the DBIx::Class::Schema::Loader itself, which affects all
- # derived schemas
- use My::Schema;
- use My::OtherSchema;
- DBIx::Class::Schema::Loader->dump_to_dir('/foo/bar');
- My::Schema->connection(.......);
- My::OtherSchema->connection(.......);
-
- # Another alternative to the above:
- use DBIx::Class::Schema::Loader qw| dump_to_dir:/foo/bar |;
- use My::Schema;
- use My::OtherSchema;
- My::Schema->connection(.......);
- My::OtherSchema->connection(.......);
-
- make_schema_at
- Arguments: $schema_class_name, \%loader_options, \@connect_info
- Return Value: $schema_class_name
-
- This function creates a DBIx::Class schema from an existing RDBMS
- schema. With the "dump_directory" option, generates a set of DBIx::Class
- classes from an existing database schema read from the given dsn.
- Without a "dump_directory", creates schema classes in memory at runtime
- without generating on-disk class files.
-
- For a complete list of supported loader_options, see
- DBIx::Class::Schema::Loader::Base
-
- This function can be imported in the usual way, as illustrated in these
- Examples:
-
- # Simple example, creates as a new class 'New::Schema::Name' in
- # memory in the running perl interpreter.
- use DBIx::Class::Schema::Loader qw/ make_schema_at /;
- make_schema_at(
- 'New::Schema::Name',
- { debug => 1 },
- [ 'dbi:Pg:dbname="foo"','postgres' ],
- );
-
- # Inside a script, specifying a dump directory in which to write
- # class files
- use DBIx::Class::Schema::Loader qw/ make_schema_at /;
- make_schema_at(
- 'New::Schema::Name',
- { debug => 1, dump_directory => './lib' },
- [ 'dbi:Pg:dbname="foo"','postgres' ],
- );
-
- rescan
- Return Value: @new_monikers
-
- Re-scans the database for newly added tables since the initial load, and
- adds them to the schema at runtime, including relationships, etc. Does
- not process drops or changes.
-
- Returns a list of the new monikers added.
-
-KNOWN ISSUES
- Multiple Database Schemas
- Currently the loader is limited to working within a single schema (using
- the underlying RDBMS's definition of "schema"). If you have a
- multi-schema database with inter-schema relationships (which is easy to
- do in PostgreSQL or DB2 for instance), you currently can only
- automatically load the tables of one schema, and relationships to tables
- in other schemas will be silently ignored.
-
- At some point in the future, an intelligent way around this might be
- devised, probably by allowing the "db_schema" option to be an arrayref
- of schemas to load.
-
- In "normal" DBIx::Class::Schema usage, manually-defined source classes
- and relationships have no problems crossing vendor schemas.
-
-AUTHOR
- Brandon Black, "blblack at gmail.com"
-
- Based on DBIx::Class::Loader by Sebastian Riedel
-
- Based upon the work of IKEBE Tomohiro
-
-THANK YOU
- Matt S Trout, all of the #dbix-class folks, and everyone who's ever sent
- in a bug report or suggestion.
-
-LICENSE
- This library is free software; you can redistribute it and/or modify it
- under the same terms as Perl itself.
-
-SEE ALSO
- DBIx::Class, DBIx::Class::Manual::ExampleSchema
-
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/Base.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/Base.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/Base.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -16,7 +16,7 @@
use Class::Unload;
require DBIx::Class;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
__PACKAGE__->mk_ro_accessors(qw/
schema
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/DB2.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/DB2.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/DB2.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -6,7 +6,7 @@
use Carp::Clan qw/^DBIx::Class/;
use Class::C3;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/MSSQL.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/MSSQL.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/MSSQL.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -9,7 +9,7 @@
use Carp::Clan qw/^DBIx::Class/;
use Class::C3;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/ODBC/Microsoft_SQL_Server.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/ODBC/Microsoft_SQL_Server.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/ODBC/Microsoft_SQL_Server.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -6,7 +6,7 @@
use Carp::Clan qw/^DBIx::Class/;
use Class::C3;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/ODBC.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/ODBC.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/ODBC.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -6,7 +6,7 @@
use Carp::Clan qw/^DBIx::Class/;
use Class::C3;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -6,7 +6,7 @@
use Carp::Clan qw/^DBIx::Class/;
use Class::C3;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Pg.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -6,7 +6,7 @@
use Carp::Clan qw/^DBIx::Class/;
use Class::C3;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/SQLite.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/SQLite.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/SQLite.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -7,7 +7,7 @@
use Text::Balanced qw( extract_bracketed );
use Class::C3;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -5,7 +5,7 @@
use Carp::Clan qw/^DBIx::Class/;
use Class::C3;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Microsoft_SQL_Server.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Microsoft_SQL_Server.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Microsoft_SQL_Server.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -6,7 +6,7 @@
use Carp::Clan qw/^DBIx::Class/;
use Class::C3;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Sybase.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -9,7 +9,7 @@
use Carp::Clan qw/^DBIx::Class/;
use Class::C3;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -1,7 +1,7 @@
package DBIx::Class::Schema::Loader::DBI::Writing;
use strict;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
# Empty. POD only.
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -6,7 +6,7 @@
use Carp::Clan qw/^DBIx::Class/;
use Class::C3;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/DBI.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -6,7 +6,7 @@
use Class::C3;
use Carp::Clan qw/^DBIx::Class/;
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/RelBuilder.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/RelBuilder.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader/RelBuilder.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -5,7 +5,7 @@
use Carp::Clan qw/^DBIx::Class/;
use Lingua::EN::Inflect::Number ();
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
=head1 NAME
Modified: branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/lib/DBIx/Class/Schema/Loader.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -10,7 +10,7 @@
# Always remember to do all digits for the version even if they're 0
# i.e. first release of 0.XX *must* be 0.XX000. This avoids fBSD ports
# brain damage and presumably various other packaging systems too
-our $VERSION = '0.04999_10';
+our $VERSION = '0.04999_11';
__PACKAGE__->mk_classaccessor('_loader_args' => {});
__PACKAGE__->mk_classaccessors(qw/dump_to_dir _loader_invoked _loader loader_class/);
@@ -418,6 +418,8 @@
ribasushi: Peter Rabbitson <rabbit+dbic at rabbit.us>
+gugu: Andrey Kostenko <a.kostenko at rambler-co.ru>
+
... and lots of other folks. If we forgot you, please write the current
maintainer or RT.
Modified: branches/DBIx-Class-Schema-Loader/current/t/12pg_common.t
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/t/12pg_common.t 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/t/12pg_common.t 2009-11-29 17:49:40 UTC (rev 7986)
@@ -1,6 +1,7 @@
use strict;
use lib qw(t/lib);
use dbixcsl_common_tests;
+use Test::More;
my $dsn = $ENV{DBICTEST_PG_DSN} || '';
my $user = $ENV{DBICTEST_PG_USER} || '';
@@ -12,6 +13,41 @@
dsn => $dsn,
user => $user,
password => $password,
+ extra => {
+ create => [
+ q{
+ CREATE TABLE pg_loader_test1 (
+ id SERIAL NOT NULL PRIMARY KEY,
+ value VARCHAR(100)
+ )
+ },
+ q{
+ COMMENT ON TABLE pg_loader_test1 IS 'The Table'
+ },
+ q{
+ COMMENT ON COLUMN pg_loader_test1.value IS 'The Column'
+ },
+ ],
+ drop => [ qw/ pg_loader_test1 / ],
+ count => 2,
+ run => sub {
+ my ($schema, $monikers, $classes) = @_;
+
+ my $class = $classes->{pg_loader_test1};
+ my $filename = $schema->_loader->_get_dump_filename($class);
+
+ my $code = do {
+ local ($/, @ARGV) = (undef, $filename);
+ <>;
+ };
+
+ like $code, qr/^=head1 NAME\n\n^$class - The Table\n\n^=cut\n/m,
+ 'table comment';
+
+ like $code, qr/^=head2 value\n\nThe Column\n\n/m,
+ 'column comment';
+ },
+ },
);
if( !$dsn || !$user ) {
Modified: branches/DBIx-Class-Schema-Loader/current/t/20invocations.t
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/t/20invocations.t 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/t/20invocations.t 2009-11-29 17:49:40 UTC (rev 7986)
@@ -3,6 +3,10 @@
use lib qw(t/lib);
use make_dbictest_db;
+local $SIG{__WARN__} = sub {
+ warn $_[0] unless $_[0] =~ /really_erase_my_files/
+};
+
# Takes a $schema as input, runs 4 basic tests
sub test_schema {
my ($testname, $schema) = @_;
Modified: branches/DBIx-Class-Schema-Loader/current/t/22dump.t
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/t/22dump.t 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/t/22dump.t 2009-11-29 17:49:40 UTC (rev 7986)
@@ -6,6 +6,11 @@
my $dump_path = './t/_dump';
+local $SIG{__WARN__} = sub {
+ warn $_[0] unless $_[0] =~
+ /really_erase_my_files|Dumping manual schema|Schema dump completed/;
+};
+
{
package DBICTest::Schema::1;
use base qw/ DBIx::Class::Schema::Loader /;
Modified: branches/DBIx-Class-Schema-Loader/current/t/lib/dbixcsl_common_tests.pm
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/t/lib/dbixcsl_common_tests.pm 2009-11-29 14:51:18 UTC (rev 7985)
+++ branches/DBIx-Class-Schema-Loader/current/t/lib/dbixcsl_common_tests.pm 2009-11-29 17:49:40 UTC (rev 7986)
@@ -73,6 +73,11 @@
$self->drop_tables;
}
+# defined in sub create
+my (@statements, @statements_reltests, @statements_advanced,
+ @statements_advanced_sqlite, @statements_inline_rels,
+ @statements_implicit_rels);
+
sub setup_schema {
my $self = shift;
my @connect_info = @_;
@@ -115,9 +120,20 @@
my $file_count;
find sub { return if -d; $file_count++ }, $DUMP_DIR;
- is $file_count, 34, 'correct number of files generated';
- exit if $file_count != 34;
+ my $expected_count = 34;
+ $expected_count += @{ $self->{extra}{drop} || [] };
+
+ $expected_count -= grep /CREATE TABLE/, @statements_inline_rels
+ if $self->{no_inline_rels};
+
+ $expected_count -= grep /CREATE TABLE/, @statements_implicit_rels
+ if $self->{no_implicit_rels};
+
+ is $file_count, $expected_count, 'correct number of files generated';
+
+ exit if $file_count != $expected_count;
+
my $warn_count = 2;
$warn_count++ if grep /ResultSetManager/, @loader_warnings;
@@ -655,7 +671,17 @@
my $before_digest = $digest->digest;
my $dbh = $self->dbconnect(1);
- $dbh->do($_) for @statements_rescan;
+
+ {
+ # Silence annoying but harmless postgres "NOTICE: CREATE TABLE..."
+ local $SIG{__WARN__} = sub {
+ my $msg = shift;
+ print STDERR $msg unless $msg =~ m{^NOTICE:\s+CREATE TABLE};
+ };
+
+ $dbh->do($_) for @statements_rescan;
+ }
+
$dbh->disconnect;
sleep 1;
@@ -726,7 +752,7 @@
$self->{_created} = 1;
my $make_auto_inc = $self->{auto_inc_cb} || sub {};
- my @statements = (
+ @statements = (
qq{
CREATE TABLE loader_test1s (
id $self->{auto_inc_pk},
@@ -769,7 +795,7 @@
},
);
- my @statements_reltests = (
+ @statements_reltests = (
qq{
CREATE TABLE loader_test3 (
id INTEGER NOT NULL PRIMARY KEY,
@@ -1028,7 +1054,7 @@
q{ INSERT INTO loader_test34 (id,rel1) VALUES (1,2) },
);
- my @statements_advanced = (
+ @statements_advanced = (
qq{
CREATE TABLE loader_test10 (
id10 $self->{auto_inc_pk},
@@ -1053,7 +1079,7 @@
q{ REFERENCES loader_test11 (id11) }),
);
- my @statements_advanced_sqlite = (
+ @statements_advanced_sqlite = (
qq{
CREATE TABLE loader_test10 (
id10 $self->{auto_inc_pk},
@@ -1076,7 +1102,7 @@
q{ loader_test11 INTEGER REFERENCES loader_test11 (id11) }),
);
- my @statements_inline_rels = (
+ @statements_inline_rels = (
qq{
CREATE TABLE loader_test12 (
id INTEGER NOT NULL PRIMARY KEY,
@@ -1100,7 +1126,7 @@
);
- my @statements_implicit_rels = (
+ @statements_implicit_rels = (
qq{
CREATE TABLE loader_test14 (
id INTEGER NOT NULL PRIMARY KEY,
More information about the Bast-commits
mailing list