Часто я слышу “нет смысла отделять код от логики БД, никто не меняет одну БД на другую”.

Ну что ж, за 6 лет веб-разработки мы меняли БД от 10 до 20 раз.

Меняли MySQL на Redis и меняли Redis на MemCache чтобы оптимизировать некоторые части кода.

Меняли MySQL на MongoDB, чтобы отвязаться от жëсткой схемы и ускорить запись для простых буферов данных.

Меняли MongoDB и MySQL на ClickHouse, чтобы получить высокую производительность и гибкость в составлении аналитических отчëтов.

В одном из проектов планировался переезд с MySQL на PostgreSQL так как в той же компании есть множество проектов использующих PostgreSQL. Удобно иметь единый базовый стек в рамках компании, так как можно переиспользовать опыт, наработки, упростить мониторинг и поддержку инфраструктуры.

Не менять БД за всë время жизни проекта это нормально. Чаще всего именно так и будет.

Но то что никто этого не делает, это миф.