DBIx::Class::Schema::Loader automates the definition of a DBIx::Class::Schema by scanning table schemas and setting up columns and primary keys. DBIx::Class::Schema::Loader supports MySQL, Postgres, SQLite and DB2. See DBIx::Class::Schema::Loader::Generic for more, and DBIx::Class::Schema::Loader::Writing for notes on writing your own db-specific subclass for an unsupported db. This module requires DBIx::Class 0.05 or later, and obsoletes DBIx::Class::Loader for 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. 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.