Multitenancy SQLite elegante em Rails
Este artigo descreve a experiência de construir um aplicativo multilocatário com Rails, onde cada locatário possui seu próprio banco de dados SQLite isolado. O autor inicialmente utilizou o gerenciamento tradicional de conexões de banco de dados, levando a erros de conexão sob alta carga. Após muita exploração, o autor finalmente utilizou o método `connected_to` do Rails 6+ combinado com um middleware personalizado para alcançar a troca segura e eficiente de bancos de dados de locatários, resolvendo de forma inteligente os problemas de multithreading e gerenciamento de pool de conexões, e compartilhando dicas para lidar com corpos de resposta de streaming Rack. Este artigo é valioso para a construção de aplicativos multilocatários de alto desempenho e escaláveis.