Files
ameiba_cn_new/cms/server/src/export-sqlite.js
T

12 lines
841 B
JavaScript

import Database from 'better-sqlite3';
import fs from 'fs';
const sqlite = new Database(process.env.SQLITE_DB_PATH || './cms.db', { readonly: true });
const output = process.env.SQLITE_EXPORT_PATH || './sqlite-export.json';
const tables = ['global_config', 'home_sections', 'site_texts', 'ameba_page', 'experts', 'evolution_thought', 'four_values', 'amb_states', 'evolution_process', 'ten_systems', 'services', 'cases', 'articles', 'self_check', 'diagnosis_questions', 'diagnosis_sessions', 'diagnosis_reports', 'diagnosis_leads', 'contact_leads', 'diagnosis_config', 'admins'];
const data = {};
for (const table of tables) { try { data[table] = sqlite.prepare(`SELECT * FROM ${table}`).all(); } catch { data[table] = []; } }
fs.writeFileSync(output, JSON.stringify(data));
sqlite.close();
console.log(`SQLite export complete: ${output}`);