auto-sql2csv
v1.1.2
Published
Convert MySQL output to csv format, without dependencies
Downloads
10
Readme
Installation
Run npm install auto-sql2csv
.
Why?
This project was made for database reporting. Auto in the first is because that sql2csv is already taken by CLI abandoned 5 year old project.
Usage
Usage is pretty straight forward. Currently this package has support only for mysql driver, but others may work when they have similar syntax (conn.query(str, (err, result)=>{})).
Options
| name | default | description | |----------------|--------------|----------------------------------------------------------------------| | prefix | '[SQL2CSV] ' | Prefix to use when logging | | conn | null | Connection to use, must be created outside | | colors | true | Whether to use colors or not when logging | | crlf | false | Use windows crlf instead of linux lf on line ends | | skipMysqlCheck | false | Skip check for mysql driver (doesn't do anything other than warning) | | showNames | false | Show column names in first row | | logging | false | Log to console |
Methods
| name | parameters | description | |---------------|------------------------|------------------------------------------------------------------------------------------------------------------------------------------------| | log | string to log | Logs to console using prefix + string | | colorLog | string to log, color | Same as log but with color prefix parameter, used to disable coloring when colors: false | | warn | string to warn | Same as log but with yellow color | | constructor | options | Run when class instanciated, options are optional | | query | sql | This is where magic happens. Runs MySQL query and converts result (if any) to csv. Using promise. Rejected when empty result or error happens. | | setOption | option name, new value | Sets new value to option | | setOptions | options | Overwrites options object with the one provided | | setConnection | conn | Sets new connection |
Example
const sql2csv = require("sql2csv");
const mysql = require("mysql");
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: ""
});
const s2c = new sql2csv({
logging: true,//Log to console
skipMysqlCheck: true,//Skip mysql check, as it's surely there
colors: true,//Use colors, default value (could be ommited)
showNames: true,//Show column names in first row
crlf: false,//Use only linux lf
conn: con //Connection to use
});
console.log(s2c.query("SELECT * FROM db.table"));
/*
Shows something like
id,column1,column2
1,Daniel,Bulant
2,John,Doe
*/