Usa ConnectionManager::config()
funzione per creare connessioni al volo e il ConnnectionManager::alias()
metodo per fare in modo che tutte le tue classi Table lo utilizzino per impostazione predefinita.
C'è un ottimo articolo che descrive il processo qui:
http://mark-story.com /posts/view/using-cakephp-and-a-database-sharded-orizzontale
L'unica differenza è che puoi creare la configurazione della connessione al volo invece di dichiarare manualmente gli shard come mostrato in quell'articolo.