Your first approach with creating different schemas, one for each database, is the correct one.
Each database gets its own DBIx::Class
schema in separate Perl namespaces.
If you will use the DBIC schema outside of your Catalyst application it makes sense to also chose a namespace outside of the Catalyst app,
for example Company::Model::DB1, Company::Model::DB2 and Company::Web::App
.
Then you create a Catalyst model for each DBIx::Class schema with the different connection parameters.
In Catalyst you access the two models using $c->model('DB1')
and $c->model('DB2')
.