Skip to content

Commit

Permalink
Mention MariaDB alongside MySQL in the basic tutorials
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
ottok committed Mar 21, 2024
1 parent 09e3e00 commit 2edab4e
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand All @@ -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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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). |

Expand Down
5 changes: 3 additions & 2 deletions content/200-orm/500-reference/375-supported-databases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down
2 changes: 1 addition & 1 deletion content/300-accelerate/200-getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 2edab4e

Please sign in to comment.