Data migration — def-exsport-data-migration
CLI Deno sekali pakai yang membaca Google Sheets dan mengimpor barisnya ke database Postgres Exsport. Ini tool operasional, bukan service.
Cara halaman ini diverifikasi
Dibaca pada 2026-09-15 dari main.ts, deno.json dan file helper-nya. Checkout lokal: /Volumes/xpro/erisristemena/deno/def-exsport-data-migration.
Stack
Deno / TypeScript. Import (deno.json): postgres (deno.land 0.17), @std/dotenv, nanoid (npm), @std/assert. Entry main.ts, helper database.ts, exsport.ts, wms.ts. Task: dev = deno run --watch --allow-net --allow-read --allow-write --allow-env main.ts; start = sama tanpa --watch. Single-branch: main only.
Apa yang dilakukan
Ia autentikasi ke Google (Drive + Sheets read-only; credentials.json → token.json), membaca spreadsheet sumber, lalu menulis ke Postgres. Flag:
--auth,--list,--search— setup dan inspeksi.--migrate— products dan articles dari sheetProduct/Article.--migrate-members, dan run bertanggal--migrate-members-251130,--migrate-members-260628— membaca sheetStore+Profile Member.--fix-missing-shortcodes— masih stub.
Koneksi Postgres dari POSTGRES_HOST/PORT/DATABASE/USER/PASSWORD; spreadsheet dari GOOGLE_SPREADSHEET_ID / GOOGLE_SHEET_NAME. Repo ini juga membawa data sumber member sebagai file CSV/XLSX yang di-commit (existing_members_batch_*).
Jalankan dengan sengaja, terhadap database yang di-.env sebagai snapshot, bukan produksi, kecuali task-nya memang migrasi sungguhan.