Honestly, they're both really good ORMs. I've used Prisma for quite awhile now, almost a year or so and so far my developer experience with it is superb. Especially if you work with local SQLite, PostgreSQL, MySQL, and other databases that don't rely on an HTTP connection. Here's the catch, dont-rely-on-an-HTTP-connection.
I super interested in using Turso with libSQL as the libSQL embedded db functionality is a great feature that I want to implement in my pharmacy inventory system. Imagine querying data in a local database- and then syncing this database to Turso's online database for a client in a different place to be able to access without the server being required to always be online. It's quite a nice feature to have, plus you always have an online backup in case of data loss or some unfortunate circumstance. I always believe in the 3-2-1 backup strategy, so implementing this fulfills my duty of doing that along with a 3rd backup strategy of syncing the local database to a private Cloudflare R2 bucket.
Sadly this is not a possible thing to do right now, as libSQL is considered a second-class citizen for Prisma. Worse yet, if I want to sync my database schema to Turso, the simple prisma db push does not sadly work with HTTP-connection databases.
Drizzle is an ORM that I have just recently started learning. I'm checking on whether it has all the features that Prisma has, but so far based on my experience it has. The schema construction is a bit more closely tied to creating a Typescript file compared to Prisma where they have their own schema syntax which honestly looks simpler compared to Drizzle.
One caveat also with using Prisma is that, at least for now, is not yet supported on ARM, which is such a bummer as I also wanted to host my API endpoints in a phone running termux. I hope they'll start supporting ARM in the future.
I'll continue dabbling with Drizzle for now and see how far this will take me.