连接到 Neon Postgres
本教程介绍如何从部署在 Deno Deploy 上的应用程序连接到 Neon Postgres 数据库。
您可以在此处找到一个更全面的教程,该教程在 Postgres 之上构建了一个示例应用程序。
设置 Postgres 跳转到标题
首先,我们需要创建一个新的 Postgres 实例供我们连接。在本教程中,我们将使用 Neon Postgres,因为它们提供免费的托管 Postgres 实例。如果您想将数据库托管在其他地方,也可以这样做。
-
访问 https://neon.tech/ 并单击Sign up以使用电子邮件、Github、Google 或合作伙伴帐户注册。注册后,您将被定向到 Neon 控制台以创建您的第一个项目。
-
输入您的项目名称,选择 Postgres 版本,提供数据库名称,然后选择区域。通常,您需要选择离您的应用程序最近的区域。完成后,单击Create project。
-
您将看到新项目的连接字符串,您可以使用该字符串连接到您的数据库。保存连接字符串,它看起来像这样
postgres://alex:AbC123dEf@ep-cool-darkness-123456.us-east-2.aws.neon.tech/dbname?sslmode=require
您将在下一步中需要连接字符串。
在 Deno Deploy 中创建项目 跳转到标题
接下来,让我们在 Deno Deploy 中创建一个项目,并使用必要的环境变量进行设置
- 转到 https://dash.deno.com/new(如果您尚未登录,请使用 GitHub 登录),然后单击Deploy your own code下的Create an empty project。
- 现在单击项目页面上可用的Settings按钮。
- 导航到Environment Variables部分并添加以下密钥。
DATABASE_URL
- 该值应设置为您在上一步中保存的连接字符串。
编写连接到 Postgres 的代码 跳转到标题
要使用 Neon serverless driver 读取/写入 Postgres,请首先使用 deno add
命令安装它
deno add jsr:@neon/serverless
这将创建或更新您的 deno.json
文件,其中包含依赖项
{
"imports": {
"@neon/serverless": "jsr:@neon/serverless@^0.10.1"
}
}
现在您可以在代码中使用驱动程序了
import { neon } from "@neon/serverless";
// Get the connection string from the environment variable "DATABASE_URL"
const databaseUrl = Deno.env.get("DATABASE_URL")!;
// Create a SQL query executor
const sql = neon(databaseUrl);
try {
// Create the table
await sql`
CREATE TABLE IF NOT EXISTS todos (
id SERIAL PRIMARY KEY,
title TEXT NOT NULL
)
`;
} catch (error) {
console.error(error);
}
将应用程序部署到 Deno Deploy 跳转到标题
完成应用程序编写后,您可以将其部署到 Deno Deploy。
为此,请返回到您的项目页面,网址为 https://dash.deno.com/projects/<project-name>
。
您应该看到几个部署选项
除非您想添加构建步骤,否则我们建议您选择 GitHub 集成。
有关在 Deno Deploy 上部署的不同方式和不同配置选项的更多详细信息,请阅读此处。