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)");
}