DBIx::Class::Loader

隣の先に座っている同僚のIさんに Catalyst を利用した試験アプリのソースを見てもらっていた際に、テーブル名やフィールド名がソース内に存在していないのは何故?と質問されたので、回答を下記に記載しておきます。

Catalyst::Model::DBIC では、DBIx::Class::Loader を使っています。
更に、DB に MySQL を選択した場合、DBIx::Class::Loader 内で DBIx::Class::Loader::mysql を使います。
DBIx::Class::Loader::mysql 内では、SHOW CREATE TABLE や DESCRIBE を実行する事で、テーブルの情報を取得しているようです。

詳しくは、source を追ってみて下さい。