Every framework eventually makes you define a model, write a migration, create a controller, wire up routes. And then you're staring at SELECT * FROM users wrapped in forty layers of abstraction, ...