Use o
ConnectionManager::config() função para criar conexões em tempo real e o ConnnectionManager::alias() método para fazer com que todas as suas classes de tabela o usem por padrão. Há um artigo muito bom descrevendo o processo aqui:
https://mark-story.com /posts/view/using-cakephp-and-a-horizontally-sharded-database
A única diferença é que você pode criar a configuração de conexão em tempo real, em vez de declarar os shards manualmente, como foi mostrado nesse artigo.