Nexova / scripts /init-db.js
Nexova
fix: init-db via sh+sqlite3 cli, exact prisma schema sql
512af3e
raw
history blame contribute delete
902 Bytes
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)");
}