Мои модульные тесты Django занимают много времени, поэтому я ищу способы ускорить это. Я рассматриваю возможность установки SSD, но я знаю, что это тоже имеет свои недостатки. Конечно, есть вещи, которые я мог бы сделать с моим кодом, но я ищу структурное исправление. Даже запуск одного теста происходит медленно, так как база данных необходимо перестраивать/перенаправлять на юг каждый раз. Так вот моя идея...
Поскольку я знаю, что тестовая база данных всегда будет довольно маленькой, почему я не могу просто настроить систему, чтобы всегда хранить всю тестовую базу данных в ОЗУ? Никогда не касайтесь диска вообще. Как настроить это в Django? Я бы предпочел использовать MySQL, так как это то, что я использую в производстве, но если SQLite 3 или что-то еще облегчает это, я бы пошел таким образом.
Имеет ли SQLite или MySQL возможность полностью работать в памяти? Должно быть возможно настроить RAM-диск, а затем настроить тестовую базу данных для хранения там своих данных, но я не уверен, как сообщить Django/MySQL использовать другой каталог данных для определенной базы данных, тем более, что он продолжает стираться и воссоздал каждый прогон. (Я нахожусь на Mac FWIW.)