Meus testes de unidade do Django levam muito tempo para serem executados, então estou procurando maneiras de acelerar isso. Estou pensando em instalar um SSD , mas sei que também tem suas desvantagens. Claro, há coisas que eu poderia fazer com meu código, mas estou procurando uma correção estrutural. Mesmo a execução de um único teste é lenta, pois o banco de dados precisa ser reconstruído / migrado para o sul toda vez. Então aqui está a minha ideia ...
Como sei que o banco de dados de teste sempre será muito pequeno, por que não consigo simplesmente configurar o sistema para manter sempre o banco de dados de teste inteiro na RAM? Nunca toque no disco. Como eu configuro isso no Django? Eu preferiria continuar usando o MySQL, já que é isso que uso na produção, mas se o SQLite 3 ou algo mais facilita isso, eu continuaria assim.
O SQLite ou o MySQL tem uma opção para executar inteiramente na memória? Deveria ser possível configurar um disco RAM e, em seguida, configurar o banco de dados de teste para armazenar seus dados lá, mas não sei como instruir o Django / MySQL a usar um diretório de dados diferente para um determinado banco de dados, especialmente porque ele continua sendo apagado e recriou cada corrida. (Estou em um Mac FWIW.)