I think the jdbc package is a more appropriate place. The Meta model is something central and backend independent. It is the responsibility of whatever backend to convert from its custom meta data format (jdbc in this case) to the canonical Slick meta model one. Putting it in Model.apply basically creates a dependency of the Meta Model on jdbc, which seems wrong. I mean this is a small argument since we only have one backend. As a compromise to simplicity we could just put it in MetaModel.apply. But I also have the feeling we may end up putting it in the drivers instead to cope with driver specific jdbc meta data differences. Let's see where we end up.