Battling a legacy schema with DBIx::Class

Battling a legacy schema with DBIx::Class

By Lee Johnson from London.pm
Date: Tuesday, 21 June 2016 14:00
Duration: 50 minutes
Target audience: Intermediate
Language: English
Tags: dbic legacy perl

You can find more information on the speaker's site:


This talk aims to give/explain some lessons learnt and tips on using
DBIx::Class with a legacy database schema.

An overview of DBIx::Class will be given, although this will not be in
great detail and there is some expectation of knowledge of the basics
of dbic

The basic skeleton of the talk is as follows:

- Who am i?
- Why DBIx::Class
- Legacy Schema
+ Grown organically
+ Poorly normalised
+ No relational constraints
+ Polymorphic relationships
+ Poor choice of data types
+ SQL Antipatterns
- Battling the above with DBIx::Class
+ Generating schema classes
+ Adding relationships
+ Solving joins on polymorphic relationships
+ Filtering columns
+ Fixing data types with filters
+ Virtual views and reports
+ Query tracing and profiling
- Questions?

Other topics touched upon may include:

- MVC
+ Thin controllers
+ Fat model

I expect the talk to last around 35 minutes, and with a Q&A at the end
that should take it to the 40 minute mark. The full presentation and
example code will available for view/fork/contribution on github.


Attended by: Todd Rinaldo (‎toddr‎), Dave Rolsky (‎autarch‎), Lee Johnson, David H. Adler (‎dha‎), Mike Weisenborn, Josh Lavin (‎digory‎), Victor Stevko, Michael South (‎msouth‎), Karsten Schiela, Henry Van Styn (‎vanstyn‎), Michael LaGrasta, Scott Duff (‎perlpilot‎), Russ Brewer (‎Russ‎), Jed Cunningham, Brent Laabs (‎labster‎), Bruce Gray (‎Util‎), Miller Hall,