
Many SQL DBAs argue: “I’ve never seen a production app change its database. Why make it database-agnostic?” 🛢️ In systems focused on the database, this makes sense — business logic resides in… | Franck Pachot
Many SQL DBAs argue: “I’ve never seen a production app change its database. Why make it database-agnostic?” 🛢️ In systems focused on the database, this makes sense — business logic resides in stored procedures and depends on specific vendor features. But what if they looked beyond that mindset and listened to developers? 💎 Nowadays, many teams intentionally keep core business logic separate from the database, using ORMs, Spring Data, jOOQ, or hexagonal architecture (Ports & Adapters). 🏛️ In hexagonal architecture, business rules are at the core, with the database acting as a replaceable “adapter” behind a straightforward interface. Switching databases? Simply swap out the adapter — without altering your domain logic. 💪🏼 There are compelling reasons to keep business logic independent from infrastructure: easier evolution, improved testability, and maintaining all code within the team's expertise. ❓What is your experience with modern developments? Should your business logic depend on infrastructure or not?








