<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Backend on Peter.H's Full-Stack GAME</title><link>https://peter-notes.com/tags/backend/</link><description>Recent content in Backend on Peter.H's Full-Stack GAME</description><image><title>Peter.H's Full-Stack GAME</title><url>https://peter-notes.com/images/og-image.jpg</url><link>https://peter-notes.com/images/og-image.jpg</link></image><generator>Hugo</generator><language>zh-tw</language><lastBuildDate>Fri, 15 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://peter-notes.com/tags/backend/index.xml" rel="self" type="application/rss+xml"/><item><title>Schema 主表翻轉的 dual-write 過渡:一場不能 stop-the-world 的搬家</title><link>https://peter-notes.com/posts/schema-pivot-dual-write-migration/</link><pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/schema-pivot-dual-write-migration/</guid><description>外部系統匯入的 customers 表跑了三年,現在想換成 SaaS 自己的 users 表為主。Stop-the-world 風險太高,dual-write 過渡是唯一可行解。本文拆解 3 階段 migration、partial cut-over、DISTINCT ON 去重、永久共存政策的設計考量與實戰踩坑。</description></item><item><title>ORM 在騙你：當 populate / include 悄悄失效</title><link>https://peter-notes.com/posts/orm-silent-populate-failure/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/orm-silent-populate-failure/</guid><description>一個 CMS 文件的「上傳者」欄位永遠空白引出的除錯故事：當 ORM 的 populate / include 在特定條件組合下靜默失敗，HTTP 200 OK、其他欄位都對，唯獨關聯變成 null。介紹這類跨 ORM 的通病怎麼診斷、怎麼繞過、怎麼從架構分層理解為什麼只有這一層會騙人。</description></item><item><title>Strapi v5's Silent populate Failure with Relation Filters</title><link>https://peter-notes.com/posts/strapi-v5-populate-silent-failure-with-relation-filters/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/strapi-v5-populate-silent-failure-with-relation-filters/</guid><description>A reproducible Strapi v5 bug: combining filters[relation][id][$eq] with populate[relation]=true silently returns null for the populated field — no error, no warning, just missing data. This post walks through the symptom, a curl reproduction, why it happens at the ORM layer, and a knex-based custom find controller that fixes it.</description></item><item><title>頭貼切不回去？一個 Bug 揪出 Admin Panel 權限漂移的跨後端通病</title><link>https://peter-notes.com/posts/admin-panel-permission-drift-cms-backends/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/admin-panel-permission-drift-cms-backends/</guid><description>從一個 Flutter 切不回手機頭貼的 bug 出發，揭開 Strapi Admin Panel 權限漂移這個跨後端的共通陷阱。深入分析雙層根因、衍生的 null validation bug，以及為什麼 Firebase、Supabase、Hasura、AWS IAM 都逃不過這個問題。</description></item><item><title>Strapi Plugin 覆寫陷阱：為什麼你的 Override 沒有生效？</title><link>https://peter-notes.com/posts/strapi-plugin-factory-wrapper/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/strapi-plugin-factory-wrapper/</guid><description>深入解析 Strapi v5 plugin 架構中的 factory function 陷阱，以及如何使用 Factory Wrapper 模式正確覆寫 users-permissions plugin 的 service 和 controller</description></item><item><title>為什麼技術選型 CMS 我要選 Strapi？2024 年中的預算與系統分析決策</title><link>https://peter-notes.com/posts/why-choose-strapi-cms-2024/</link><pubDate>Tue, 23 Dec 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/why-choose-strapi-cms-2024/</guid><description>深入分析 2024 年 6 月為公司進行 CMS 技術選型的決策過程，從 Headless CMS 架構、自動化 API 生成、到實際人力成本節省的完整考量</description></item><item><title>前端登入失敗的真兇：深入理解 CORS 問題與實戰解法</title><link>https://peter-notes.com/posts/frontend-login-cors-issues/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/frontend-login-cors-issues/</guid><description>從同源政策到 CORS 預檢請求，深入理解跨來源資源共用的運作原理，並提供 Strapi、Express、Nginx 等實戰設定範例與完整排查流程</description></item><item><title>Strapi 自訂搜尋功能：讓 Admin 面板支援多欄位搜尋</title><link>https://peter-notes.com/posts/strapi-custom-search/</link><pubDate>Sun, 27 Oct 2024 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/strapi-custom-search/</guid><description>在 Strapi v5 中實作自訂搜尋邏輯，讓 Admin 面板支援跨關聯的多欄位搜尋，解決只能搜尋單一欄位的限制</description></item></channel></rss>