> This specifically is targeting environments where a MySQL client isn't able to run.
Oh, absolutely and I didn't mean to imply it wasn't useful, I was just saying I went down the Prisma path and will be sticking with that. Even so I'm glad this exists for times that I don't need the full weight/power of Prisma but do want to talk to a PlanetScale DB.
I went down the Prisma path investigating JavaScript ORMs, and... I have opinions. :)
I feel that what we have would be useful within a Prisma context, but given their complexity and how Prisma works, it's likely not very practical with their "engine".
That’s fair. They are the only game in town, last I checked, that has full (good) TypeScript support which is a must-have for me. TypeORM is the other I know about and I’ve used it as well but I greatly prefer Prisma.
Other than having to bundle the engine I’ve been very happy with Prisma + PlanetScale. I’m open to any other TypeScript ORMs if you know of them.
I've also been following Kysely and am a big fan, having used Objection.js and Knex a lot in the past. I consider Kysely to be the TypeScript-native spiritual successor to Knex.
For a theoretical new Node + TypeScript + SQL project, the three options I would consider are, from most-ORMy to least:
- Prisma
- Kysely + kysely-codegen (query builder)
- slonik + @slonik/typegen (raw postgres driver with good types; not sure if there's a good MySQL equivalent)
I would not consider myself a member of the JavaScript or TypeScript communities. I just build the infrastructure and platforms to support these kinds of things. :)
This specifically is targeting environments where a MySQL client isn't able to run.