通过 PlanetScale 与 Netlify 的集成,使用 PlanetScale 数据库的应用程序在 Netlify 上的连接和部署现在变得更加简单。今天,这项集成已正式上线,并且可以帮助你更快地部署,同时提供更加优化的开发者体验。这次集成是基于 Netlify 最新的 SDK 构建的,它支持开发像这类新功能。
接下来,让我们一起来了解该集成的一些优势,以及如何快速开始使用。


不再需要复制粘贴连接字符串

通过 Netlify 与 PlanetScale 的集成,开发者无需再手动从 PlanetScale 数据库复制粘贴连接字符串到 Netlify 中。该集成利用 PlanetScale 的 OAuth 应用功能,为你提供安全的登陆方式。之后,你可以直接选择想要使用的数据库和分支。无需再复制粘贴,也无需担心因为配置错误导致连接字符串输入到环境变量时出现问题。这不仅减少了人为失误,还能加快部署过程。


为不同的部署环境提供不同的分支

当应用程序和数据库同时发生更改时,如果有多个部署环境,混淆连接字符串是常见问题。通过该集成,你可以为特定的部署环境(例如生产环境、部署预览和本地开发)指定对应的分支。集成会在后台自动处理这些环境变量所需的连接字符串。每当你的应用程序在 Netlify 上构建时,集成会为你正确配置匹配的分支。
在 Netlify 中配置 PlanetScale 分支的选项。


与 PlanetScale 的 Fetch API 兼容数据库驱动无缝协作

传统的 MySQL 二进制协议在边缘计算环境中表现并不好。这正是为什么我们开发了一个 JavaScript 库,它可以在任何兼容 Fetch API 的环境中使用。该库使用 HTTP 而不是通过原始 TCP 套接字运行的 MySQL 二进制协议。更棒的是,@netlify/planetscale 库使用了 @planetscale/database,允许你在 Netlify Functions 中通过代码连接到 PlanetScale 数据库并进行调用操作。


开始使用

首先,你需要安装必要的依赖项:

npm install @netlify/planetscale @planetscale/database

接下来,你可以在 Netlify Functions 中使用这个库。以下是一个 TypeScript 示例:

import type { Handler } from '@netlify/functions'
import { withPlanetscale } from '@netlify/planetscale'

export const handler: Handler = withPlanetscale(async (event, context) => {
  const {
    planetscale: { connection }
  } = context
  const { body } = event
  if (!body) {
    return {
      statusCode: 400,
      body: 'Missing body'
    }
  }
  const { email, name } = JSON.parse(body)
  await connection.execute('INSERT INTO users (email, name) VALUES (?, ?)', [email, name])
  return {
    statusCode: 201
  }
})

通过这一集成,PlanetScale 与 Netlify 数据库的管理和应用程序的部署变得简单高效,让你能够专注于开发工作,而无需担心底层的配置复杂性。



使用 PlanetScale 与 Netlify 集成简化数据库管理插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://folen.top/2025/09/13/planetscale-netlify/