Battling a Legacy Schema with DBIx::Class

Battling a Legacy Schema with DBIx::Class

By Lee Johnson from London.pm
Date: Friday, 2 September 2016 15:45
Duration: 20 minutes
Target audience: Intermediate
Language: English
Tags: dbic perl5

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
+ Inflating 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 15 minutes, and with a Q&A at the end that should take it to the 20 minute mark. The full presentation and example code will available for view/fork/contribution on github.


Attended by: Markus Hechenberger (‎Hechi‎), Thomas Eisenbock (‎MyControl GmbH‎), Michael Kröll (‎pepl‎), Renee Bäcker (‎reneeb‎), Jozef Kutej (‎jozef‎), Wolfgang Schemmel (‎Perleone‎), Elmar Heeb (‎esh‎), David Schmidt (‎davewood‎), Dirk Deimeke,