DEV Community

Discussion on: How far can Prisma take you? (in February 2019)

Collapse
 
nikolasburk profile image
Nikolas Burk • Edited

Hi Sam 👋 I'm Nikolas from the Prisma team.

First of all, it's great to hear that you appreciate the value a tool like Prisma has!

I would like to address your concerns about the state of Prisma today. Your criticism in general is absolutely on point and some things you've mentioned are exactly the ones highest on our priority list at the moment.

No data migrations

Right now our migration system is overly simple, which on one hand is good because it's very easy to use, but on the other hand bad because it comes with some major limitations. You've pointed to an older GitHub issue that requests a more sophisticated migration system. We've actually just started speccing out our new migration system and want to evolve the spec through our RFC process. You can find all details here.

The new migration system will be a lot more powerful and allow for advanced migrations that you sometimes need to perform in more complex production environments. I would love to hear your thoughts on it!

Support / Communication problems

I apologize for the lack of communication on our end. We've been meaning to publish a roadmap for our engineering plans for quite a while, but for various reasons have never gotten around to actually doing it. I realize how important a public roadmap is for developers that are betting on Prisma and want to use it in production. I'll raise this point internally again and will push it as much as I can!

Regarding support, I'd be interested to hear concrete instances where you feel questions have been unanswered. We have a dedicated support team that's picking up questions in our forum and on Stackoverflow regularly. Whilst not always being immediate, the questions in the forum are usually answered on the day they're posted (sometimes the day after, depending on time zones...). GitHub issues are being processed and triaged every day. Questions in Slack are rarely answered by our support as we see Slack more of a place for the community to interact than for actual Prisma support (see our community guidelines here).

Finally, there's also support@prisma.io that you can always contact when you're running into issues. We're also hiring to increase our support capacity.

Smaller issues

Non-trivial unique constraints

As you mentioned, the datamodel v1.1 (formerly called datamodel v2) is indeed the solution to this. It will most likely be available in beta in ~3-4 weeks. Together with the new migration system, the datamodel v2 is one of our highest priorities at the moment.

No case-insensitive search for text fields

This is indeed a limitation of the current Prisma API. There's already an open GitHub issue where you can track the progress. Here's a workaround that shouldn't impose too much overhead.

Exposing connections

This actually is fixed by now and connections can now be used with the Prisma client. Combined with the new GraphQL Nexus, it's now fairly straightforward to implementation Relay-style pagination with the Prisma client.

Using the generated Prisma client with JS

We're huge fans of TypeScript and strong believers that it will eventually become the standard to build apps for the Node ecosystem. Nevertheless, we want to enable great DX no matter if developers are using TS or JS today. To my knowledge, it's possible to have auto-completion for nested types even with JavaScript, because we include the TS type definitions in the generated JS client code as well. Other than that, this is a job of our documentation to get right, and we're aware that we have a bit of work to do in that regard (although the Prisma client API docs currently already cover the vast majority of the API, including practical examples).


To address your concern about using Prisma in production, I want to state that we have many developers that are happily using Prisma in production today. You can e.g. read about Hyrecar (recently IPOed) or Labelbox (funded with $3.9mio) on our blog.

Thanks again for all your constructive feedback, we really appreciate it! We know that people have high expectations for Prisma and are working hard on fulfilling them. That being said, our team is still small and capacity therefore sometimes limited, but we're looking to grow so I want to mention that we're hiring for anyone who's interested in working on highly technical database and API topics 💪

UPDATE, February 28

We have just published our public roadmap. Our main goal with the roadmap is to provide visibility in the current efforts of the Prisma engineering team and make Prisma users aware of upcoming changes. I hope this addresses some part of your concern about our public communication! 🙏