AIFENG DCS · Pusat Multi-Tenant White-Label

Sistem siap digandakan untuk dijual ke rekanan · Proyek · White-label · Paket & Kuota · Isolasi Data · Bahasa: zh-CN | id-ID | en-US

Deklarasi Arsitektur Isolasi Data

Fondasi multi-tenant white-label: semua tabel baru V109 wajib membawa tenant_id — satu database fisik, isolasi logis yang ketat.
Aturan 1: setiap tabel baru wajib tenant_id
Mulai V109, semua tabel uc_* baru wajib memuat tenant_id TEXT NOT NULL DEFAULT 'aifeng'. Tabel tanpa kolom ini tidak boleh digabung. uc_tenant_v109 / uc_tenant_cfg_v109 sudah memulai.
Aturan 2: query wajib filter tenant
Semua baca/tulis memakai WHERE tenant_id = %(tenant)s (atau filter kunci proyek) di level SQL; dilarang full-scan lintas tenant. Review kode dan skrip acceptance memeriksa aturan ini.
Aturan 3: seed & impor idempoten
Semua data seed ditandai data_origin, memakai INSERT ... ON CONFLICT idempoten; eksekusi berulang tidak menggandakan baris dan tidak menimpa status yang diubah manual.
Aturan 4: data lama tidak disentuh
Tabel/data lama v32/v33/v34 tidak pernah dihapus/diubah; fitur baru selalu memakai tabel berversi uc_*_v109. Rollback = matikan rute + tabel tetap disimpan.

Tabel yang dibuat modul ini

Tabletenant_iddata_origin
uc_tenant_v109TEXT NOT NULL DEFAULT 'aifeng'v109_tenant_seed
uc_tenant_cfg_v109TEXT NOT NULL DEFAULT 'aifeng'v109_tenant_seed

Janji isolasi saat digandakan untuk rekanan

Setiap rekanan = satu project (tenant_id/project_key). Baris pelanggan, percakapan, dan pesanannya semua tergantung pada tenant_id masing-masing; menghapus proyek rekanan hanya menghapus baris tenant_id-nya, tanpa menyentuh tenant lain. Kebijakan Row-Level Security (RLS) tingkat produksi masuk antrean Human-Gate.
⚠ Human-Gate: perubahan paket, aktivasi pembayaran, pengikatan domain, koneksi object storage, dan kebijakan RLS produksi wajib disetujui boss satu per satu.