Student-Trait / setup_db.js
kapil14's picture
Upload 10 files
bd72e7f verified
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('./database.sqlite');
db.serialize(() => {
// Create Tables
db.run(`CREATE TABLE IF NOT EXISTS sampleStudent (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
subject1 INTEGER,
subject2 INTEGER,
subject3 INTEGER
)`);
db.run(`CREATE TABLE IF NOT EXISTS grade_rules (
id INTEGER PRIMARY KEY AUTOINCREMENT,
min_avg INTEGER,
max_avg INTEGER,
grade TEXT
)`);
db.run(`CREATE TABLE IF NOT EXISTS personality_traits (
id INTEGER PRIMARY KEY AUTOINCREMENT,
grade TEXT,
trait TEXT
)`);
// Seed Data (Check if exists first to avoid duplicates on re-run, or just delete file)
// For simplicity in this script, we'll clear and re-insert logic tables
db.run(`DELETE FROM grade_rules`);
const gradeStmt = db.prepare("INSERT INTO grade_rules (min_avg, max_avg, grade) VALUES (?, ?, ?)");
gradeStmt.run(90, 100, 'A');
gradeStmt.run(75, 89, 'B');
gradeStmt.run(60, 74, 'C');
gradeStmt.run(40, 59, 'D');
gradeStmt.run(0, 39, 'E');
gradeStmt.finalize();
db.run(`DELETE FROM personality_traits`);
const traitStmt = db.prepare("INSERT INTO personality_traits (grade, trait) VALUES (?, ?)");
traitStmt.run('A', 'Highly Disciplined & Leader');
traitStmt.run('B', 'Confident & Responsible');
traitStmt.run('C', 'Hardworking & Consistent');
traitStmt.run('D', 'Needs Motivation');
traitStmt.run('E', 'Requires Improvement');
traitStmt.finalize();
console.log("SQLite Database initialized with tables and seed data.");
});
db.close();