hono framework connect d1 sql database
hono framework connect d1 sql database
เราไปดูวิธีการใช้ hono framework ที่รันใน cloudflare workers แล้วทำการเชื่อมต่อ database โดยเราจะใช้ d1 sql database ของ cloudflare กันครับ
ก่อนอื่นเราก็ไปสร้าง database กันครับ โดยเข้าไปที่ cloudflae แล้วไปที่ Workers & Pages จากนั้นเลือก D1 SQL Database
ทำการสร้าง database ให้เรียบร้อยตามต้องการ
จากนั้นเราก็ไปที่ hono project ของเราคับ เราจะไปเชื่อมต่อกันก่อน โดยทำการ config ที่ไฟล์ wrangler.toml
คับ โดยจะเพิ่มในส่วนของ d1_databases เข้าไป ตามตัวอย่างโค้ดด้านล่าง
[[d1_databases]]
binding = "DB"
database_name = "doesystem"
database_id = "xxxxx"
preview_database_id = "xxxxx"
ตรงส่วน xxxxx คือ database id คับ ให้เราไปเอามาจาก cloudflare แล้วเข้าไปที่ d1_databases
ทีนี้เราลองไปเขียนโค้ด connect กันดูครับ
import { Hono } from "hono";
// This ensures c.env.DB is correctly typed
type Bindings = {
DB: D1Database;
};
const app = new Hono<{ Bindings: Bindings }>();
// Accessing D1 is via the c.env.YOUR_BINDING property
app.get("/query/users/:id", async (c) => {
const userId = c.req.param("id");
try {
let { results } = await c.env.DB.prepare(
"SELECT * FROM users WHERE user_id = ?",
)
.bind(userId)
.all();
return c.json(results);
} catch (e) {
return c.json({ err: e.message }, 500);
}
});
// Export our Hono app: Hono automatically exports a
// Workers 'fetch' handler for you
export default app;
แหล่งอ้างอิง https://developers.cloudflare.com/d1/examples/d1-and-hono/