iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
佛心分享-SideProject30

最近的工程師真沒用系列 第 17

第十七天-本地 DB 程式讀取

  • 分享至 

  • xImage
  •  

我們今天需要先把 app.d.ts 做修改

declare global {
	namespace App {
		interface Platform {
			env: {
				DB: D1Database;
			};
			cf: CfProperties;
			ctx: ExecutionContext;
		}
	}
}

export {};

然後呢 routes 底下增加
routes/api/about/+server.ts
我們自己前後端分離一下,api 資料夾裡面就是完全只放 +server.ts
然後我們在 +server.ts 隨便打點

import { json, error } from '@sveltejs/kit';
import type { RequestHandler } from './$types';

export async function GET({ request, platform }) {
	let { results } = await platform.env.DB.prepare('SELECT * FROM admin_user').run();
	return new Response(JSON.stringify(results));
}

然後就可以啟動惹

npm run preview

現在前後端一起開,就必須得用 preview,wrangler dev 也得跑起來,不然單純 npm run dev 背後只會執行 vite,是不會有資料庫的

缺點就是 preview 先編譯前端然後再跑 wokers 環境,以我 i52400 來說,大概要跑 30 秒,是個稍微討厭的時間ww
接著我們 curl 看看

curl -X GET http://127.0.0.1:8787/api/about

有回傳 [] 就對惹
接著我們試圖新增一些資料

npx wrangler d1 execute problytic-common --command='INSERT INTO admin_user(first_name,last_name) VALUES("王","小明");'

然後再 curl 一次就撈到資料囉!!

今天的情緒抒發:
收假症候群了好痛苦


上一篇
第十六天-後端DB建置
下一篇
第十八天-註冊登入登出後端實作
系列文
最近的工程師真沒用19
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言