DBIx::Class::Schema::Loader 0.05000

DBIx::Class::Schema::Loader current, more than a year in the making, is finally out in an official release:



  • makes nicer relationship names
  • singularizes class names for tables
  • supports more databases (MSSQL and Sybase ASE)
  • generates more accurate column data, moreso for some of the backends like Pg and Sybase than others, but still more accurate for all backends than 0.04006.
  • uses might_have instead of has_many for FKs to a unique constraint
  • generates POD also incorporating COMMENT metadata for Pg
  • has full backward compatibility and upgrade/downgrade code
  • various improvements for the backends
  • conversion of the repo to git thanks to ilmari (doing the conversion) and nothingmuch (for git-svn-abandon). The new repo is at:


Some of the things on the TODO list for later in the 0.05 series:

  • accurate data_type/size/default_value for all backends (currently true for Pg and Sybase.)

    This should allow schemas to round trip through SQLT ->deploy.
  • options for timezone and locale, for better InflateColumn::DateTime support (which will be available through the Catalyst helper.)
  • introspecting COMMENT metadata for POD for backends other than Pg
  • Sybase SQL Anywhere (ASA) support, possibly other new backends (Informix, Firebird ...)
  • making ::View classes for views with the defining SQL so they can be properly deployed
  • going through the huge RT queue
  • optimizing things (dumping e.g. a large mssql schema can take hours I hear.)
  • lots of other misc. crap (like refactoring my horrible backcompat tests.)

Longer term, we'd like to eventually merge some of the functionality of the new SQL::Translator Justin Hunter (arcanez) is working on with the loader (and vice-versa.)

The Catalyst tutorial should be updated soon to make use of the new Loader and SQLite foreign keys (though the current version will work just fine.)

Last modified: 2017-1-8 (日) at 1:14 pm