
Mengapa kami memodelkan terjemahan sebagai baris, bukan JSON
Diterbitkan 17 Mei 2026baca 4 menitDitulis oleh Rani Prameswari

Menyimpan terjemahan dalam kolom JSON tampak pragmatis. Satu kolom, tanpa join, tanpa migrasi saat menambah locale. Tagihannya datang belakangan.
Yang rusak
Pelaporan cakupan terjemahan menjadi pemindaian tabel penuh dengan ekspresi JSON path. Keunikan slug per locale tidak dapat ditegakkan basis data. Indeks parsial untuk konten terpublikasi per locale tidak tersedia.
Yang kami lakukan
Setiap entitas yang dapat diterjemahkan memiliki tabel pendamping dengan kunci (entity_id, locale) dan batasan unik kedua pada (locale, slug). Menambah bahasa Jepang cukup satu insert ke tabel languages.
Tag:PostgreSQLArchitecture
Artikel terkait

10 Jun 2026baca 4 menit
Anggaran Core Web Vitals yang bertahan sampai sprint kedua
Skor Lighthouse saat rilis hanyalah potret. Anggaran di CI adalah jaminan.

25 Mei 2026baca 5 menit
Merilis situs multibahasa tanpa menggandakan basis kode
Routing berprefiks locale, hreflang, URL canonical, dan slug per locale — ditangani sekali di router.