Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
18 lines
982 B
JavaScript
18 lines
982 B
JavaScript
/**
|
|
* portal/commerce/seed.mjs — 출시 검증용 Catalog 시드 명령.
|
|
* node portal/commerce/seed.mjs [catalog 파일] (DB 위치는 ARIWEB_PORTAL_DATA 또는 ./data)
|
|
* 같은 (product_id, version) 이 있으면 건너뛴다. 검증 실패면 아무것도 넣지 않고 종료 코드 1.
|
|
*/
|
|
import { openDb } from '../../lib/db.mjs';
|
|
import { allMigrations } from '../schema.mjs';
|
|
import { loadConfig } from '../config.mjs';
|
|
import { seedCatalog, loadCatalogFile, CATALOG_FILE } from './catalog.mjs';
|
|
import { join } from 'node:path';
|
|
|
|
const cfg = loadConfig();
|
|
const store = openDb(join(cfg.dataDir, 'portal.sqlite'), await allMigrations());
|
|
const file = process.argv[2] || CATALOG_FILE;
|
|
const r = seedCatalog(store, loadCatalogFile(file), 'seed-cli');
|
|
if (r.problems.length) { console.error('Catalog 검증 실패:\n - ' + r.problems.join('\n - ')); process.exit(1); }
|
|
console.log(`Catalog 시드 완료(${file}): 추가 ${r.inserted} · 이미 있음 ${r.skipped}`);
|