Will updating Prisma break my Wasp app?
Will my Wasp app break if I update Prisma to 5.12.0?
6 Replies
Wohooo @isaiah, you just became a Waspeteer level 6!
Hi @isaiah. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
Hmm, I don't know enough to give you a confident answer yet. The knowledge sources provided do not mention the specific impact of updating Prisma to version 5.12.0 on a Wasp app. However, it's important to note that Wasp heavily relies on Prisma for the DB layer of the web app and any major changes in Prisma could potentially affect your Wasp app.
In one of the support threads (https://discord.com/channels/686873244791210014/1097604882011267102), it was mentioned that Wasp assumes it works with Prisma 4, not Prisma 5, so you might end up with some issues if you update to Prisma 5.
Also, in a Github issue (https://github.com/wasp-lang/wasp/issues/158), it was mentioned that Prisma introduced breaking changes in 2.13, which broke Wasp.
Therefore, it's recommended to carefully review the changes in the new Prisma version and test your app thoroughly after the update. If you encounter any issues, you can refer to the Wasp community or the official documentation for help.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
Sorry @isaiah, I seem to be having a bit of trouble. Don't worry though, I've pinged my support and they will try to fix me up! :technologist:
Perhaps try again in 15mins?
@kapa.ai List sources on how Prisma is implemented in Wasp.
Let me check the knowledge base for you. One moment! :books:
----------------------
Sure, here are some sources that explain how Prisma is implemented in Wasp:
1. Wasp Docs - Data-model - Databases - Prisma Configuration (https://wasp-lang.dev/docs/data-model/backends#prisma-configuration): This source explains how Wasp uses Prisma to interact with the database. It also provides information on how to enable Prisma's preview features and PostgreSQL extensions in Wasp.
2. Github Issue - Expand our Prisma support (https://github.com/wasp-lang/wasp/issues/641): This issue discusses how Wasp heavily uses Prisma for the DB layer of the web app and plans to expand its support for Prisma features in the future.
3. Wasp Docs - Data-model - Entities (https://wasp-lang.dev/docs/data-model/entities): This source explains how Wasp Entities directly correspond to Prisma's data model and how Wasp uses Prisma ORM to implement all database functionality.
4. Github Issue - Give direct access to prisma CLI/commands through wasp CLI (https://github.com/wasp-lang/wasp/issues/216): This issue discusses the idea of giving direct access to Prisma CLI/commands through the Wasp CLI.
5. Github Issue - Ensure we perfectly understand Prisma workflows in production and support them with Wasp CLI and docs (https://github.com/wasp-lang/wasp/issues/908): This issue discusses the need to understand Prisma workflows in production and support them with Wasp CLI and docs.
6. Discord support thread - Data Storage & CMS for Beginners? (https://discord.com/channels/686873244791210014/1206149808327364628): In this thread, a community member explains how Wasp uses Prisma to interact with the database and perform CRUD operations.
7. Github Issue - Update Prisma to the latest version (https://github.com/wasp-lang/wasp/issues/194): This issue discusses the plan to update Prisma to the latest version and the need to set up a 2-way communication with Prisma CLI.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
Sorry @isaiah, I seem to be having a bit of trouble. Don't worry though, I've pinged my support and they will try to fix me up! :technologist:
Perhaps try again in 15mins?
@kapa.ai Any reasons why PostgreSQL is preferred for production as stated in the documentation? Any reasons why not SQLite?
Let me check the knowledge base for you. One moment! :books:
----------------------
Yes, there are several reasons why PostgreSQL is preferred over SQLite for production in Wasp:
1. Advanced Features: PostgreSQL is one of the most advanced open-source databases and has been in active development for over 20 years. It supports a wide range of data types and features that SQLite does not. For example, PostgreSQL supports the
DATETIME
data type, which SQLite does not. In fact, SQLite only supports 5 data types (https://sqlite.org/datatype3.html) while PostgreSQL supports many more (https://www.postgresql.org/docs/current/datatype.html) (source (https://github.com/wasp-lang/wasp/issues/1622)).
2. Scalability: PostgreSQL is better suited for large-scale applications and can handle a larger volume of data and concurrent users than SQLite.
3. Production Readiness: SQLite is primarily used for development due to its simplicity and lack of configuration. However, once you want to deploy your Wasp app to production, you'll need to switch to PostgreSQL (source (https://wasp-lang.dev/docs/data-model/backends)).
4. Compatibility with Wasp Features: Some Wasp features demand PostgreSQL, so more complex starters start with PostgreSQL (source (https://github.com/wasp-lang/wasp/issues/1622)).
5. Migration Simplicity: Migrating from SQLite to PostgreSQL is pretty simple, and Wasp provides a guide to help with this process (source (https://wasp-lang.dev/docs/data-model/backends)).
While SQLite is a great way to get started with a new project because it doesn't require any configuration, it's not recommended for production use in Wasp applications.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
Sorry @isaiah, I seem to be having a bit of trouble. Don't worry though, I've pinged my support and they will try to fix me up! :technologist:
Perhaps try again in 15mins?