哈囉大家好,我是 JK!今天我們要來測試一個名為 Turso 的資料庫平台。Turso 是一個資料庫平台,可以讓我們很方便地在本地端進行開發,並能部署到雲端服務,而且它的免費額度足夠一個人完成一個簡單的專案。
本集主要展示了使用 Turso 資料庫在本地端進行全端開發的過程,以及如何執行 Migration 步驟。
下一集,我們將會進行簡單的部署測試!
大家好我是JK
今天來介紹Turso的一個資料庫平台
它可以幫我們把資料庫部署到全球的一個節點,可以有一個比較低延遲性的連線方式,讓我們可以快速的取得資料庫的內容
一開始先啟動一個全新的Nuxt專案,新增一個Nuxt的專案叫Demo
npx nuxi init demo專案建立好之後,直接用VS Code來開啟這個專案
接下來撰寫程式碼的方式是使用Claude Code,開啟終端機然後登入Claude Code
要用這個專案去連線Turso資料庫,最方便的方式是使用ORM的一個方式。ORM有非常多的套件,這邊是使用Drizzle
Drizzle這個套件可以讓我們很方便去連線Turso這個資料庫,然後也可以很方便的做本地的開發
ORM使用Drizzle,資料庫是使用Turso,會有這些指令去做Migration跟Push的方式,做一個簡單的Todo List範例
ORM使用Drizzle
資料庫是使用Turso
會有這些指令去做Migration跟Push的方式
可以使用一個簡單的Todo List來做範例等待它去把這個內容以及程式碼撰寫完畢
Claude Code執行完畢,來看一下它做了哪些事情
它幫我們做了一個環境變數的設定,以及Drizzle的一些設定檔
跟Server它做了四支API,這邊也做了資料庫的一個連線方式
也幫我做了一個Schema,這個Schema就是我要建立資料庫的一個資料表的內容
在前端這邊也幫我做了一個前端頁面的展示
要來怎麼樣做使用我們可以先看一下package.json,這邊有這四個指令
這四個指令要先下db:push就可以去新增一個資料庫
npm run db:push執行完畢它就會幫我把這個Schema的內容去產生一個本地的資料庫
可以發現這邊產生一個local.db,這個就是資料庫
要怎麼去看這個資料庫的內容,可以去執行npm run db:studio
npm run db:studio這個指令在package.json這邊有去撰寫,這個指令它會開啟一個本地的web的介面
這邊開啟之後會開啟我這個本地的資料庫
確實有一個todo的一個資料表
這邊有這四個欄位ID、title跟完成跟這個時間
來做一個簡單的前端頁面的展示,開啟這個前端的localhost 3000 port
一個簡單的UI介面這邊也是它幫我生成的,然後我們來做一個測試
輸入aa,這邊新增一筆aa了
我們看一下資料表這邊確實也新增一筆aa,ID是1
然後我做一個修改
這邊確實也變成1了
那我把它刪除掉
這邊資料表刪除了,所以我就完成一個本地端開發這個Turso的一個資料庫的方式了
但是在這邊我們一般在做資料庫的迭代的時候,會使用migrate的方式去做迭代,譬如說我們有新增欄位或修改欄位
我們來看一下指令會有兩個指令,一個是generate跟migrate
一開始我們如果有新增欄位的話,我們就去執行npm run然後db
npm run db:generate它就幫我產生一個migration裡面會有一個sql檔,這邊確實有這四個欄位,所以這是一開始資料庫的內容
我就可以去做migrate了,所以我這邊去執行migrate
npm run db:migrate它就會用這個.sql檔去幫我們去開啟一個新的資料庫了,這個local.db就建立好了
接下來如果有新增欄位的話一樣用一樣的方式,所以我這邊去新增欄位
我請Claude Code去幫我新增一個時間的欄位,然後API跟前端也同步新增
這邊Claude Code已經把程式碼做完了,那它也自動幫我跑了這一個generate
所以我們可以看一下這邊在generate確實新增一個全新的欄位
然後再去做migrate的話,它就會幫我把這個.sql檔把它匯入到這個local.db了
那接下來我們就可以來開啟前端的畫面看長什麼樣子
我們先來看一下資料表的部分,這邊確實新增一個due date的一個新的欄位
然後在前端這邊也做了一個時間的欄位,所以我們可以來做一個簡單的測試
加入時間,這邊新增一個時間然後看一下資料庫這邊
確實也新增一筆有due date的時間了
那這樣子就做完一個資料庫的migrate了
那以上就是簡單示範使用Turso的一個本地端開發模式,然後並且介紹如何去做資料庫的migration