`object records extends TableQuery(new ...(_)) {` is the recommended code for extending TableQuery for a particular table, yes. I would however advice against putting DAO-style methods into TableQuery in the first place. As suggested in our Scala Days 2013 (http://slick.typesafe.com/docs/) talk I would put only methods that return `Column` typed values into TableQuery, methods that return Query types values into a "Query library" implemented as implicit classes, methods that actually execute queries into separate DAO objects. This is the cleanest separation in my eyes. For simplicity you could merge some of those together in a particular project, but I disagree with advertising this as "the recommended practice".