The npm install command failed in my project. Analyze the following er

This commit is contained in:
Leon Serfaty G
2025-09-01 06:34:12 +00:00
parent b76754d151
commit a61b22689f
12 changed files with 342 additions and 117 deletions
+49 -7
View File
@@ -3,17 +3,58 @@ import Database from 'better-sqlite3';
// Use a file-based database in development
const db = new Database('local.db');
db.pragma('journal_mode = WAL');
// --- SCHEMA CREATION ---
// Auth.js tables
db.exec(`
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
email TEXT UNIQUE NOT NULL,
password TEXT NOT NULL,
name TEXT NOT NULL
id TEXT PRIMARY KEY,
name TEXT,
email TEXT UNIQUE,
emailVerified INTEGER,
image TEXT,
password TEXT
)
`);
db.exec(`
CREATE TABLE IF NOT EXISTS accounts (
userId TEXT NOT NULL,
type TEXT NOT NULL,
provider TEXT NOT NULL,
providerAccountId TEXT NOT NULL,
refresh_token TEXT,
access_token TEXT,
expires_at INTEGER,
token_type TEXT,
scope TEXT,
id_token TEXT,
session_state TEXT,
PRIMARY KEY (provider, providerAccountId),
FOREIGN KEY (userId) REFERENCES users (id) ON DELETE CASCADE
)
`);
db.exec(`
CREATE TABLE IF NOT EXISTS sessions (
sessionToken TEXT NOT NULL PRIMARY KEY,
userId TEXT NOT NULL,
expires INTEGER NOT NULL,
FOREIGN KEY (userId) REFERENCES users (id) ON DELETE CASCADE
)
`);
db.exec(`
CREATE TABLE IF NOT EXISTS verification_tokens (
identifier TEXT NOT NULL,
token TEXT NOT NULL,
expires INTEGER NOT NULL,
PRIMARY KEY (identifier, token)
)
`);
db.exec(`
CREATE TABLE IF NOT EXISTS settings (
key TEXT PRIMARY KEY,
@@ -54,13 +95,14 @@ db.exec(`
console.log('Running database checks and seeding if necessary...');
// Seed default user
const userStmt = db.prepare('SELECT id FROM users WHERE id = ?');
const defaultUser = userStmt.get(1);
const userStmt = db.prepare('SELECT id FROM users WHERE email = ?');
const defaultUser = userStmt.get('admin@example.com');
if (!defaultUser) {
const insertUser = db.prepare(
"INSERT INTO users (id, email, password, name) VALUES (?, ?, ?, ?)"
);
insertUser.run(1, 'admin@example.com', 'password', 'Admin User');
// Note: In a real app, hash the password!
insertUser.run('cl-admin-user-id', 'admin@example.com', 'password', 'Admin User');
console.log('Default user created.');
}