tests cleaned a little, added autoloading of on-disk class defs, added currently...
[dbsrgits/DBIx-Class-Schema-Loader.git] / lib / DBIx / Class / Schema / Loader.pm
index a9a4b35..b43b316 100644 (file)
@@ -10,7 +10,7 @@ use UNIVERSAL::require;
 # 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.01004';
+our $VERSION = '0.02001';
 
 __PACKAGE__->mk_classaccessor('loader');
 
@@ -30,6 +30,8 @@ DBIx::Class::Schema::Loader - Dynamic definition of a DBIx::Class::Schema
     additional_classes      => [qw/DBIx::Class::Foo/],
     additional_base_classes => [qw/My::Stuff/],
     left_base_classes       => [qw/DBIx::Class::Bar/],
+    components              => [qw/ResultSetManager/],
+    resultset_components    => [qw/AlwaysRS/],
     constraint              => '^foo.*',
     relationships           => 1,
     options                 => { AutoCommit => 1 }, 
@@ -59,17 +61,10 @@ DBIx::Class::Schema::Loader - Dynamic definition of a DBIx::Class::Schema
   my $classes = $schema1->loader->classes;
 
   # Use the schema as per normal for DBIx::Class::Schema
-  my $rs = $schema1->resultset($monikers->{table_table})->search(...);
+  my $rs = $schema1->resultset($monikers->{foo_table})->search(...);
 
 =head1 DESCRIPTION
 
-THIS IS A DEVELOPMENT RELEASE.  This is 0.01xxx, the first public
-releases.  Expect things to be broken in various ways.  Expect the
-entire design to be fatally flawed.  Expect the interfaces to change if
-it becomes neccessary.  It's mostly here for people to poke at it and
-find the flaws in it.  0.02 will hopefully have some sanity when we get
-there.
-
 DBIx::Class::Schema::Loader automates the definition of a
 DBIx::Class::Schema by scanning table schemas and setting up
 columns and primary keys.
@@ -82,6 +77,22 @@ db-specific subclass for an unsupported db.
 This module requires L<DBIx::Class> 0.05 or later, and obsoletes
 L<DBIx::Class::Loader> for L<DBIx::Class> version 0.05 and later.
 
+While on the whole, the bare table definitions are fairly straightforward,
+relationship creation is somewhat heuristic, especially in the choosing
+of relationship types, join types, and relationship names.  The relationships
+generated by this module will probably never be as well-defined as
+hand-generated ones.  Because of this, over time a complex project will
+probably wish to migrate off of L<DBIx::Class::Schema::Loader>.
+
+It 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.
+
 =head1 METHODS
 
 =head2 load_from_connection
@@ -119,6 +130,14 @@ that was used during construction.  See the
 L<DBIx::Class::Schema::Loader::Generic> docs for more information
 on the available loader methods there.
 
+=head1 KNOWN BUGS
+
+Aside from relationship definitions being less than ideal in general,
+this version is known not to handle the case of multiple relationships
+between the same pair of tables.  All of the relationship code will
+be overhauled on the way to 0.03, at which time that bug will be
+addressed.
+
 =head1 AUTHOR
 
 Brandon Black, C<blblack@gmail.com>