Часто я слышу “нет смысла отделять код от логики БД, никто не меняет одну БД на другую”.
Ну что ж, за 6 лет веб-разработки мы меняли БД от 10 до 20 раз.
Меняли MySQL на Redis и меняли Redis на MemCache чтобы оптимизировать некоторые части кода.
Меняли MySQL на MongoDB, чтобы отвязаться от жëсткой схемы и ускорить запись для простых буферов данных.
Меняли MongoDB и MySQL на ClickHouse, чтобы получить высокую производительность и гибкость в составлении аналитических отчëтов.
В одном из проектов планировался переезд с MySQL на PostgreSQL так как в той же компании есть множество проектов использующих PostgreSQL. Удобно иметь единый базовый стек в рамках компании, так как можно переиспользовать опыт, наработки, упростить мониторинг и поддержку инфраструктуры.
Не менять БД за всë время жизни проекта это нормально. Чаще всего именно так и будет.
Но то что никто этого не делает, это миф.