3 ms·
Having built a few Django apps at a lower scale than Doordash, the battle scars they have around migrations are very, very real as a codebase grows. You don't
by maxmorlocke 5y ago
Having built a few Django apps at a lower scale than Doordash, the battle scars they have around migrations are very, very real as a codebase grows. You don't have to be at web scale to get into cross-app migration pains... and even with a single developer the pain of the makemigrations race condition is real (context switching hurts in all the ways). If you have to come away with any one specific action item, pay attention to what they say here.
Beyond that, there are some landmines around caching beyond the model scope. In a multitenant application, be very, very careful using the cache decorator at the view layer. You can get some nasty cross-contamination. The test framework also doesn't manage separation of caches when doing parallel tests, so you can get some serious oddities that are painful to figure out the cause of in parallel tests with caching.
I'd also love to hear how they manage keeping the test framework fast, clean, and reliable... assuming they use django's test runner. There's a lot of 'best practices' you pick up along the way w.r.t. keeping tests performant and valuable.