Prisma: 2.27.0 Release

Release date:
July 12, 2021
Previous version:
2.26.0 (released June 28, 2021)
Magnitude:
906 Diff Delta
Contributors:
10 total committers
Data confidence:
Commits:

73 Commits in this Release

Ordered by the degree to which they evolved the repo in this version.

Authored July 8, 2021
Authored July 1, 2021
Authored July 2, 2021
Authored July 7, 2021
Authored July 7, 2021

Top Contributors in 2.27.0

williamluke4
prisma-bot
millsp
tomhoule
pantharshit00
renovate-bot
Jolg42
janpio
madebysid
github-actions[bot]

Directory Browser for 2.27.0

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

Today, we are excited to share theย 2.27.0ย stable releaseย ๐ŸŽ‰

๐ŸŒŸย Help us spread the word about Prisma by starring the repo โ˜๏ธย orย tweetingย about the release. ๐ŸŒŸย 

Major improvements & new features

MongoDB is Now in Preview ๐ŸŽ‰

We're thrilled to announce that Prisma now has Preview support for MongoDB. Here's how to get started:

Inside your schema.prisma file, you'll need to set the database provider to mongodb. You'll also need to add mongoDb to the previewFeatures property in the generator block:

// Set the database provider to "mongodb"
datasource db {
  provider = "mongodb"
  url      = env("DATABASE_URL")
}

// We want to generate a Prisma Client
// Since mongodb is a preview feature, we need to enable it.
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["mongoDb"]
}

// Create our Post model which will be mapped to a collection in the database.
// All posts have a required `title`, `slug` and `body` fields.
// The id attributes tell Prisma it's a primary key and to generate 
// object ids by default when inserting posts.
model Post {
  id    String @id @default(dbgenerated()) @map("_id") @db.ObjectId
  slug  String @unique
  title String
  body  String
}

Next, you'll need to add a database connection string to your .env file. We recommend using MongoDB Atlas to spin up a MongoDB database for free. Set the DATABASE_URL to the connection string you got from MongoDB Atlas, it should be similar to the following string:

DATABASE_URL="mongodb+srv://admin:<password>@cluster0.quvqo.mongodb.net/myFirstDatabase?retryWrites=true&w=majority"

โ—๏ธ Don't forget to include the username and password you set while creating the database in the connection string, otherwise you won't be able to connect to it.

Then you can run npx prisma generate to generate a MongoDB-compatible Prisma Client. The Prisma Client API is the same for Mongo as it is for other supported relational databases (PostgreSQL, MySQL, SQLite and Microsoft SQL Server).

To test that everything works, you can run the following script:

import { PrismaClient } from "@prisma/client"
const prisma = new PrismaClient()

async function main() {
  // Create the first post
  await prisma.post.create({
    data: {
      title: "Prisma <3 MongoDB",
      slug: "prisma-loves-mongodb",
      body: "This is my first post. Isn't MongoDB + Prisma awesome?!",
    },
  })
  // Log our posts showing nested structures
  console.dir(posts, { depth: Infinity })
}

main()
  .catch(console.error)
  .finally(() => prisma.$disconnect())

You should see a new post created and added to your database! You can use Prisma Studio to view the record you just added by running npx prisma studio.

This is just the tip of the iceberg. Learn more in our Getting Started Guide.

We would love to know your feedback! If you have any comments or run into any problems we're available in this issue. You can also browse existing issues that have the MongoDB label.

Prisma native support for M1 Macs ๐Ÿš€

This one's for our Mac users. Prisma now runs natively on the new M1 chips. Best of all, there's nothing to configure, it just works. Enjoy the speed bump!

Fixes and improvements

Prisma Client

Prisma Migrate

๐Ÿ“บ Join us for another "What's new in Prisma" livestream

Learn about the latest release and other news from the Prisma community by joining us for another "What's new in Prisma" livestream.

The stream takes place on Youtube on Thursday, July 15 at 5pm Berlin | 8am San Francisco.