如何使用 Drizzle ORM 在 Hono/Bun 应用程序中等待数据库连接?

问题描述 投票:0回答:1

作为学习 HonoDrizzle 的一部分,我正在使用 Bun 创建一个简单的 Web 服务器。

// src/index.ts
import { Hono } from "hono";
import UserRepo from "./repo/UserRepo";

const app = new Hono();

app.get("/ping", (c) => {
    return c.text("pong");
});

app.post("/user", async (c) => {
    const { name, email } = await c.req.json();
    const newUser = await UserRepo.create({ name, email });
    return c.json(newUser, 201);
});

app.onError((err, c) => {
    console.log(err);
    return c.json(err, 500);
});

export default {
    ...app,
    port: process.env.PORT || 3000,
};

我有这个数据库,正在通过

UserRepo
使用它。为了简单起见,我仅显示相关的数据库代码

// src/db/index.ts
import { drizzle } from "drizzle-orm/postgres-js";
import postgres from "postgres";

const queryClient = postgres(process.env.DB_URL as string);
const db = drizzle(queryClient);

export { db };

它按预期工作。但服务器不等待数据库连接。在 Express 中,我们可以做类似

mongoose.connect(...).then(() => app.listen(...))
的事情,我正在尝试用这个应用程序做类似的事情。搜索了文档但找不到任何内容。任何帮助将不胜感激。

database connection bun drizzle hono
1个回答
0
投票

您可以通过Bun.serve

实现您想要做的事情
dbConnect()
  .then(() => {
    Bun.serve(app);
    console.log('Server Running');
  })
  .catch((error) => {
    console.error(error);
  });
© www.soinside.com 2019 - 2024. All rights reserved.