【问题标题】:How to connect a PlanetScale DB to a SvelteKit app running in Vercel如何将 PlanetScale DB 连接到在 Vercel 中运行的 SvelteKit 应用程序
【发布时间】:2022-01-25 23:20:02
【问题描述】:

Vercel 和 PlanetScale 的文档告诉您如何连接它们,但它们发生了如此多的自动化(读作“魔术”),以至于如果某个部件发生故障,您不知道如何恢复。

有些事情失败了,所以这就是我所在的地方。

  • 我应该在 Vercel 中的什么位置放置连接字符串或用户名/密码?
  • 我是否在某处安装 MySQL 模块?
  • 如果是,是哪些?在哪里?
  • 我还缺少什么?

基本上,一些简短的步骤会非常 赞赏。

(是的,我已经用谷歌搜索过了。我能找到的唯一帮助是连接 Vercel Next.js。在 Vercel SvelteKit 上我什么都看不到)。

里奇哈里斯?也许你可以发表评论?

【问题讨论】:

    标签: svelte vercel sveltekit


    【解决方案1】:

    我是 PlanetScale 的开发者倡导者,也是 SvelteKit 和 Vercel 的忠实粉丝。关于设置的问题,有几个不同的选项。

    • 使用允许您编写原始 SQL 的 mysql2 NPM 包
    • 使用Prisma(一个ORM)

    我个人的偏好是使用 Prisma。对我来说,它增加了一种在 JavaScript 中使用数据库的更简洁的方式。

    至于放置凭据的位置,您需要在 Vercel 中添加一个 DATABASE_URL 环境变量。您可以在 Vercel here 中找到有关环境变量的更多信息。

    根据您使用的上述 NPM 包,此 URL 的格式会略有不同。您可以在连接下拉菜单下的 PlanetScale 仪表板中创建它们。

    以 Prisma 为例。

    以 MySQL 2 为例

    希望这会有所帮助。让我知道您还有什么其他问题。我不是 Stack Overflow 上最活跃的人,所以请随时通过 Twitter 与我联系。

    【讨论】:

    • 那个DATABASE_URL Vercel中的环境变量,应该是连接字符串吧?我是否提供了在 PlanetScale 的“连接”下拉菜单下看到的实际密码或星号?
    • @rap 我想我们在这个词上还有一些工作要做,但是在 PlanetScale 内部,您可以单击生成密码。密码将包含几个属性,即用户名、密码、域等。然后这些属性将用于创建连接字符串。因此,在上面的屏幕截图中,为您生成了连接字符串。因此,您可以从其中一个选项中复制连接字符串,并将其粘贴到您的 .env 属性中,为 DATABASE_URL
    • 作为一个例子,这就是 Prisma 的样子。 DATABASE_URL=mysql://<USERNAME>:<PLAIN_TEXT_PASSWORD>@<ACCESS_HOST_URL>/<DATABASE_NAME>?sslaccept=strict
    猜你喜欢
    • 2021-08-31
    • 2020-12-21
    • 1970-01-01
    • 2018-06-30
    • 2018-02-11
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    相关资源
    最近更新 更多