File size: 902 Bytes
50c45f6 8934865 50c45f6 8934865 50c45f6 8934865 50c45f6 512af3e 50c45f6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | const { existsSync, mkdirSync, statSync } = require("fs");
const { execSync } = require("child_process");
const { join } = require("path");
const dir = join(process.cwd(), "data");
const db = join(dir, "nexova.db");
if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
if (!existsSync(db) || statSync(db).size === 0) {
const sql = `CREATE TABLE "notes" (
"id" TEXT NOT NULL PRIMARY KEY,
"title" TEXT NOT NULL,
"content" TEXT NOT NULL DEFAULT '',
"color" TEXT NOT NULL DEFAULT '#fef08a',
"pinned" BOOLEAN NOT NULL DEFAULT false,
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);`;
execSync(`sqlite3 "${db}" '${sql.replace(/'/g, "'\\''")}'`);
console.log("[init] db created (" + statSync(db).size + " bytes)");
} else {
console.log("[init] db exists (" + statSync(db).size + " bytes)");
}
|