Hey <!everyone> :v: :prisma-cool: We just release...
# prisma-whats-new
a
Hey <!everyone> ✌️ prisma cool We just released Prisma
3.9.0
prisma rainbow 🛠️ Prisma Migrate improvements to troubleshoot migrations Last year, we released Prisma Migrate for General Availability. Since then, we’ve gotten feedback from you to understand the challenges you experience building, testing, and deploying migrations. We’re thrilled to announce that we’re introducing new CLI commands to improve the experience troubleshooting migrations:
prisma migrate diff
and
prisma db execute
. The
prisma migrate diff
command creates a diff of your database schema, Prisma schema file, or the migration history. As a companion to the
prisma migrate diff
, we also built
prisma db execute
to execute SQL scripts against a database. This creates the possibility of building many new workflows such as forward and backward migrations with automation tooling. We’re looking forward to learning how they work for you and how we could make them better. You can learn about them here and give us feedback on the issue. 🦦 Preview support for CockroachDB We are excited to announce Preview support for CockroachDB. CockroachDB support in Prisma is the product of collaboration with the Cockroach Labs team, and with this release, you can use Prisma in existing CockroachDB projects with introspection. To learn more, check out the release blog post and try it out with the getting started guide. 🌟 Raw query support for MongoDB Prisma version
3.9.0
introduces raw queries to the MongoDB (Preview) connector. Raw queries help writing queries that Prisma doesn’t support yet, such as:
Copy code
// To find zero or more documents matching a filter
const result = await prisma.user.findRaw({
  filter: { age: { $gt: 25 } },
  options: { projection: { _id: false } },
})

// To perform aggregation operations on a collection
await prisma.user.aggregateRaw({
  pipeline: [
    { $match: { status: 'registered' } },
    { $group: { _id: '$country', total: { $sum: 1 } } },
  ],
})

// To run a command against the database
await prisma.$runCommandRaw({
  aggregate: 'User',
  pipeline: [
    { $match: { name: 'Bob' } },
    { $project: { email: true, _id: false } },
  ],
  explain: false,
})
Learn more about Prisma’s new raw query API and how you can use it in our documentation. Concurrency issues with Interactive Transactions Prisma version
3.9.0
resolved issues experienced around timeouts and rollbacks when there were concurrent reads and writes. If you experienced timeouts or your interactive transactions weren’t working quite as expected, now’s the time to make the upgrade and give it another go. Learn more about Interactive Transactions in our documentation. 📚 Learn more in the release notes For more info and links to documentation, you can read the release notes. 🌟 Help us spread the word about Prisma. 🌟 To help spread the word about Prisma, we’d very much appreciate it if you would star the repo 🌟 And if you’re excited about the features in this week’s release, then help us and share your excitement on Twitter. 📰 Join us on Thursday for the “What’s new in Prisma” livestream This week, @nikolasburk and @Daniel Norman will discuss the latest release and other news from the Prisma ecosystem in a

livestream on YouTube

this Thursday at 5 pm Berlin | 8 am San Francisco.
🏳️‍🌈 17
🌦️ 2
prisma cool 65
👏 34
🚀 16
🌶️ 7
🇦🇲 5
🎉 10
💯 9
❤️ 8
😎 3
😛 3
🕺🏽 1
fast parrot 30
🎤 9
🇿🇼 6
📽️ 4
🇨🇴 5
🇺🇸 4
4
💚 5
👏🏽 1
👏🏾 1
👏🏿 1
🇳🇴 5
🙌 4
🇩🇰 2
🇵🇰 2
🇻🇳 2
🇩🇯 2
🇵🇱 17
🦜 26
👏🏼 2
🇬🇷 7
catjam 6
💥 6
🐛 4
8
😃 3
prisma rainbow 11
prisma green 7
🤩 7
🇰🇪 7
🇮🇳 9
🇲🇻 2
👏🏻 2
🕺 3
🇷🇺 2
🪳 4
🇪🇸 3
🇰🇷 9
🇷🇴 1
🇪🇹 2
🇸🇦 1