Probably showing my age here, but their database:reverse feature just blew my mind.
The problem with most ORMs is that language object models are way more expressive than SQL (due to having multiple subclasses of the same superclass / interface, or even multiple inheritance, and none of those mapping to SQL foreign keys).
Targeting the less expressive data model should automatically avoid most ORM footguns. I wonder how it works in practice.
I work with it every day and the the documentation is not the best, but for 95% of pure php projects it’s the Right answer. There maybe other right answers, but propel is definitely one of them.
If you iterate the database as you go, simply create the classes and there you go. I m amazed how good it works.
I m a single developer, so your results may vary, but for small to medium projects it works fine. And most of all projects are small to medium.
The problem with most ORMs is that language object models are way more expressive than SQL (due to having multiple subclasses of the same superclass / interface, or even multiple inheritance, and none of those mapping to SQL foreign keys).
Targeting the less expressive data model should automatically avoid most ORM footguns. I wonder how it works in practice.