免費優惠犬

把 DBML 丟到 dbdiagram.io,就能免費看到資料庫關聯圖,非常直覺

把 DBML 丟到 dbdiagram.io,就能免費看到資料庫關聯圖,非常直覺

資料庫菜鳥到自己會設計架構,我是怎麼突然開竅的?我一直覺得資料庫是我人生中最霧煞煞的技術之一,什麼 schema、migration、rollback、ORM…聽起來就很專業,但實際上我完全搞不懂它們到底在幹嘛。對我來說,資料庫設計就像天書,腦中浮現的只有一張張複雜的關聯圖,還有工程師們神情專注地敲著我看不懂的 SQL。

直到某次因為工作需求,我被迫去碰 wrangler 跟 drizzle。原本以為又要硬著頭皮查一堆資料,沒想到因為它搭配的是 SQLite,整體流程意外單純,加上 wrangler 跟 drizzle 的搭配方式很直覺,我第一次真心覺得「欸!好像沒有我想像的那麼恐怖」。

我突然理解了什麼是 ORM,它原來就是讓我可以用程式的語法直接操作資料庫,而不是每次都去寫一大段 SQL。schema 原來就是資料庫的藍圖,定義了表跟欄位長什麼樣;migration 就像是版本控制,可以一步步記錄資料庫的變動,讓我不會搞丟修改過程。甚至 rollback 也變得很有畫面感——就是讓資料庫回到上一個版本,像按了 Ctrl+Z 一樣。

後來我做 side project 的時候,直接找 AI 討論需求,讓它幫我設計 DB。它會根據我的描述一步步跟我確認,最後產出一份 DBML,我再丟去 dbdiagram.io 看結構。那感覺有點像跟一個會畫藍圖的朋友聊天,他把我的想法變成圖,我一眼就能知道哪裡要調整。

剛開始我還習慣請 AI 把 DBML 轉成 SQL,結果用久了發現乾脆直接請它產 SQL 反而更快,省了一步轉換的麻煩。也因為專案需要,我這次改用 PostgreSQL 當資料庫,搭配 Prisma 做 ORM。第一次用 Prisma 的時候,真的有種「啊原來可以這麼省事」的感覺——型別安全、migration 自動生成、查詢也很直觀,對我這種以前覺得 DB 像黑魔法的人來說,超級友善。

其實這一路下來,我發現自己對資料庫的恐懼,不是真的因為它很難,而是以前總是一次被丟太多理論和複雜工具,根本沒時間慢慢摸索。反而這次用 wrangler + drizzle 入門,因為 SQLite 的輕量跟流程的簡單,我可以很快抓到重點,再循序漸進換成 PostgreSQL、Prisma 這種更完整的解法。

更重要的是,我開始懂得用自己習慣的方式去驗證想法,比如先用 DBML 畫圖,讓自己清楚資料之間的關係,再去落地成 SQL。過程中不管是改欄位、加關聯、還是重新命名表,都因為有 migration 和 rollback 變得沒那麼可怕,錯了也能回去,不用擔心把資料庫炸掉。

現在回頭看,我雖然還不是那種可以炫技寫超複雜查詢的大神,但至少已經能自己規劃一個產品的 DB 架構,而且知道什麼時候該用什麼工具。更妙的是,我甚至開始會去觀察別人的專案是怎麼設計資料表的,還會在心裡偷偷想「這裡的 schema 好像可以再精簡一點」。

所以如果你也像以前的我一樣,覺得資料庫是天書,其實不用硬啃那些一開始就很進階的東西,找個簡單的工具先上手,把 schema、migration、ORM 這些名詞變成你真的用過的功能,腦中有畫面之後,就算換成 PostgreSQL 這種大型資料庫,也不會再那麼怕了。

我自己是從 SQLite 開始,配 wrangler 跟 drizzle 打開了這扇門,接著用 AI 當我的資料庫顧問,最後再進階到 PostgreSQL + Prisma。這樣的過程讓我發現,資料庫其實沒那麼死板,它甚至可以很有趣——尤其當你發現,一張自己設計的關聯圖,能支撐一整個產品的時候,那種成就感真的很爽。


 
 請點這裡繼續看更多內容
 請點這裡繼續看更多內容
 
 請點這裡繼續看更多內容
 
 請點這裡繼續看更多內容

 最後更新時間 2025-08-17 要更新請點這裡