select_for_update на SQLite молча ничего не блокирует, InMemory-провайдер EF не знает транзакций, и зелёные тесты не гарантируют, что деньги не спишутся дважды. Как тестировать гонки на настоящей СУБД.
Пошаговый план на случай «после деплоя всё упало»: остановить кровотечение, откатить код снапшотом или симлинком, решить, что делать с миграциями, и не повторить ошибку.
Сводный список того, что должно быть готово до того, как на сайт придут первые пользователи и платежи: сервер, деплой, бэкапы, nginx, приложение, мониторинг.