Skip to content
Snippets Groups Projects
Commit ddb64948 authored by Quentin Bramas's avatar Quentin Bramas
Browse files

better-sqlite3

parent 55536cda
Branches
Tags
No related merge requests found
...@@ -17,12 +17,11 @@ ...@@ -17,12 +17,11 @@
"dependencies": { "dependencies": {
"@solidjs/meta": "^0.28.0", "@solidjs/meta": "^0.28.0",
"@solidjs/router": "^0.5.0", "@solidjs/router": "^0.5.0",
"@types/sqlite3": "^3.1.8", "@types/better-sqlite3": "^7.6.2",
"solid-js": "^1.6.0", "solid-js": "^1.6.0",
"solid-start": "^0.2.0", "solid-start": "^0.2.0",
"sqlite": "^4.1.2", "undici": "^5.11.0",
"sqlite3": "^5.1.2", "better-sqlite3": "*"
"undici": "^5.11.0"
}, },
"engines": { "engines": {
"node": ">=16" "node": ">=16"
......
import sqlite3 from 'sqlite3'
import { open } from 'sqlite'
import sqlite from 'sqlite'
let _db:sqlite.Database<sqlite3.Database, sqlite3.Statement> = null;
export async function init() { import Database from 'better-sqlite3';
if (_db) return _db; const _db = new Database('foobar.db', {});
// sqlite3.Database, sqlite3.Statement is the default if no explicit generic is specified
_db = await open<sqlite3.Database, sqlite3.Statement>({
filename: './db.sqlite',
driver: sqlite3.Database
})
return _db; export async function init() {
//nothing to do
} }
export function db() : sqlite.Database<sqlite3.Database, sqlite3.Statement> { export function db() {
//if (_db) //if (_db)
return _db; return _db;
//throw new Error('Database not initialized'); //throw new Error('Database not initialized');
......
...@@ -30,13 +30,13 @@ const initRanks = async () => { ...@@ -30,13 +30,13 @@ const initRanks = async () => {
try{ try{
if(pc.query.startsWith('author_id')) if(pc.query.startsWith('author_id'))
{ {
const journals = await db().all<Row[]>('select V.id, V.name, V.key, V.fullname, SUM(AV.contrib) as score from authors_journals as AV LEFT JOIN journals as V ON (AV.venue_id = V.id) WHERE AV.'+pc.query+' GROUP BY V.id ORDER BY score DESC'); /*const journals = await db().all<Row[]>('select V.id, V.name, V.key, V.fullname, SUM(AV.contrib) as score from authors_journals as AV LEFT JOIN journals as V ON (AV.venue_id = V.id) WHERE AV.'+pc.query+' GROUP BY V.id ORDER BY score DESC');
const conferences = await db().all<Row[]>('select V.id, V.name, V.key, V.fullname, SUM(AV.contrib) as score from authors_conferences as AV LEFT JOIN conferences as V ON (AV.venue_id = V.id) WHERE AV.'+pc.query+' GROUP BY V.id ORDER BY score DESC'); const conferences = await db().all<Row[]>('select V.id, V.name, V.key, V.fullname, SUM(AV.contrib) as score from authors_conferences as AV LEFT JOIN conferences as V ON (AV.venue_id = V.id) WHERE AV.'+pc.query+' GROUP BY V.id ORDER BY score DESC');
predefinedCommunityRanks[pc.slug] = { predefinedCommunityRanks[pc.slug] = {
journals: journals.map((c,i) => ({...c, rank: i+1})), journals: journals.map((c,i) => ({...c, rank: i+1})),
conferences: conferences.map((c,i) => ({...c, rank: i+1})) conferences: conferences.map((c,i) => ({...c, rank: i+1}))
}; };
console.log('Found journal:', journals.length,' conferences:',conferences.length); console.log('Found journal:', journals.length,' conferences:',conferences.length);*/
} }
else else
{ {
......
This diff is collapsed.
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment