From 2edab4ef88084d5f47c9166c36ea763e8e943848 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Otto=20Kek=C3=A4l=C3=A4inen?= Date: Sun, 10 Mar 2024 12:58:07 -0700 Subject: [PATCH] Mention MariaDB alongside MySQL in the basic tutorials When reading the Getting Started tutorial, FAQ and similar introductory pages it is unclear if Prisma properly supports MariaDB or not. Mentioning MariaDB explicitly makes it easy for users to find that Prisma does indeed support MariaDB. --- .../410-referential-actions/index.mdx | 20 +++++++++---------- .../200-shadow-database.mdx | 2 +- .../500-reference/375-supported-databases.mdx | 5 +++-- .../300-accelerate/200-getting-started.mdx | 2 +- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/content/200-orm/100-prisma-schema/20-data-model/20-relations/410-referential-actions/index.mdx b/content/200-orm/100-prisma-schema/20-data-model/20-relations/410-referential-actions/index.mdx index 43a00f61fe..c895a0e668 100644 --- a/content/200-orm/100-prisma-schema/20-data-model/20-relations/410-referential-actions/index.mdx +++ b/content/200-orm/100-prisma-schema/20-data-model/20-relations/410-referential-actions/index.mdx @@ -150,14 +150,14 @@ The following caveats apply: The following table shows which referential action each database supports. -| Database | Cascade | Restrict | NoAction | SetNull | SetDefault | -| :---------- | :------ | :------- | :------- | :------ | :--------- | -| PostgreSQL | ✔️ | ✔️ | ✔️ | ✔️⌘ | ✔️ | -| MySQL | ✔️ | ✔️ | ✔️ | ✔️ | ❌ (✔️†) | -| SQLite | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| SQL Server | ✔️ | ❌‡ | ✔️ | ✔️ | ✔️ | -| CockroachDB | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| MongoDB†† | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | +| Database | Cascade | Restrict | NoAction | SetNull | SetDefault | +| :------------ | :------ | :------- | :------- | :------ | :--------- | +| PostgreSQL | ✔️ | ✔️ | ✔️ | ✔️⌘ | ✔️ | +| MySQL/MariaDB | ✔️ | ✔️ | ✔️ | ✔️ | ❌ (✔️†) | +| SQLite | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | +| SQL Server | ✔️ | ❌‡ | ✔️ | ✔️ | ✔️ | +| CockroachDB | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | +| MongoDB†† | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | - † See [special cases for MySQL](#mysql). - ⌘ See [special cases for PostgreSQL](#postgresql). @@ -168,9 +168,9 @@ The following table shows which referential action each database supports. Referential actions are part of the ANSI SQL standard. However, there are special cases where some relational databases diverge from the standard. -#### MySQL +#### MySQL/MariaDB -MySQL, and the underlying InnoDB storage engine, does not support `SetDefault`. The exact behavior depends on the database version: +MySQL/MariaDB, and the underlying InnoDB storage engine, does not support `SetDefault`. The exact behavior depends on the database version: - In MySQL versions 8 and later, and MariaDB versions 10.5 and later, `SetDefault` effectively acts as an alias for `NoAction`. You can define tables using the `SET DEFAULT` referential action, but a foreign key constraint error is triggered at runtime. - In MySQL versions 5.6 and later, and MariaDB versions before 10.5, attempting to create a table definition with the `SET DEFAULT` referential action fails with a syntax error. diff --git a/content/200-orm/300-prisma-migrate/200-understanding-prisma-migrate/200-shadow-database.mdx b/content/200-orm/300-prisma-migrate/200-understanding-prisma-migrate/200-shadow-database.mdx index ce27e645d4..e682866a9b 100644 --- a/content/200-orm/300-prisma-migrate/200-understanding-prisma-migrate/200-shadow-database.mdx +++ b/content/200-orm/300-prisma-migrate/200-understanding-prisma-migrate/200-shadow-database.mdx @@ -113,7 +113,7 @@ In order to create and delete the shadow database when using `migrate dev`, Pris | Database | Database user requirements | | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | SQLite | No special requirements. | -| MySQL | Database user must have `CREATE, ALTER, DROP, REFERENCES ON *.*` privileges | +| MySQL/MariaDB | Database user must have `CREATE, ALTER, DROP, REFERENCES ON *.*` privileges | | PostgreSQL | The user must be a super user or have `CREATEDB` privilege. See `CREATE ROLE` ([PostgreSQL official documentation](https://www.postgresql.org/docs/12/sql-createrole.html)) | | Microsoft SQL Server | The user must be a site admin or have the `SERVER` securable. See the [official documentation](https://docs.microsoft.com/en-us/sql/relational-databases/security/permissions-database-engine?view=sql-server-ver15). | diff --git a/content/200-orm/500-reference/375-supported-databases.mdx b/content/200-orm/500-reference/375-supported-databases.mdx index 1a04c3eb9a..771acdaee4 100644 --- a/content/200-orm/500-reference/375-supported-databases.mdx +++ b/content/200-orm/500-reference/375-supported-databases.mdx @@ -19,14 +19,15 @@ An asterisk (\*) indicates that the version number is not relevant; either all v | Database | Version | | -------------------- | ------- | | CockroachDB | 21.2.4+ | -| MariaDB | 10 | +| MariaDB | 10.0+ | +| MariaDB | 11.0+ | | Microsoft SQL Server | 2017 | | Microsoft SQL Server | 2019 | | Microsoft SQL Server | 2022 | | MongoDB | 4.2+ | | MySQL | 5.6 | | MySQL | 5.7 | -| MySQL | 8 | +| MySQL | 8.0 | | PostgreSQL | 9.6 | | PostgreSQL | 10 | | PostgreSQL | 11 | diff --git a/content/300-accelerate/200-getting-started.mdx b/content/300-accelerate/200-getting-started.mdx index 70e096d373..fa0a24042f 100644 --- a/content/300-accelerate/200-getting-started.mdx +++ b/content/300-accelerate/200-getting-started.mdx @@ -16,7 +16,7 @@ To get started with Accelerate, you will need the following: - A GitHub account. - A project that uses [Prisma Client](/orm/prisma-client) `4.16.1` or higher. If your project is using interactive transactions, you need to use `5.1.1` or higher. (We always recommend using the latest version of Prisma.) -- A hosted PostgreSQL, MySQL, PlanetScale, CockroachDB, or MongoDB database. +- A hosted PostgreSQL, MySQL/MariaDB, PlanetScale, CockroachDB, or MongoDB database. ## 1. Enable Accelerate in a project