Utilisez le ConnectionManager::config()
pour créer des connexions à la volée et le ConnnectionManager::alias()
pour que toutes vos classes Table l'utilisent par défaut.
Il y a un très bon article décrivant le processus ici :
http://mark-story.com /posts/view/using-cakephp-and-a-horizontally-sharded-database
La seule différence est que vous pouvez créer la configuration de connexion à la volée au lieu de déclarer les partitions manuellement comme indiqué dans cet article.