@overbounce/database
v1.0.0
Published
High level library for MySQL using mysql2.
Readme
Database
High level library for MySQL using mysql2.
Usage
import {DatabaseSingleton} from '@overbounce/database';
DatabaseSingleton.setParameters({
host: '127.0.0.1',
user: 'root',
password: '',
database: 'website'
});
DatabaseSingleton.on('error', (message)=>{
console.log('SQL error:', message);
});
await DatabaseSingleton.connect(); // Can throw
await DatabaseSingleton.executeSQLFile('/home/user/test.sql');
await DatabaseSingleton.query('SELECT username FROM users WHERE id=?', 1337)
await DatabaseSingleton.query('SELECT username FROM users WHERE id=? AND email=?', [1337, 'admin@website']);
await DatabaseSingleton.select('SELECT username FROM users WHERE id=? AND email=?', [1337, 'admin@website']); // [{username: string}] or null
await DatabaseSingleton.selectFirst('SELECT username FROM users WHERE isAdmin=?', 1); // {username: string} or null
await DatabaseSingleton.count('SELECT 1 FROM users WHERE username=? AND password=?', ['admin', 'password']); // returns a number
import {uid} from '@overbounce/uid';
await DatabaseSingleton.generateUnique('user', 'id', uid); // returns a unique string id
await DatabaseSingleton.generateUnique('user', 'id', (): any => {
return 'random_string';
}); // returns a unique string id
await DatabaseSingleton.dispose();