3.9 KiB
Installation
(!https://img.shields.io/npm/v/auto-sql2csv/latest)[https://www.npmjs.com/package/auto-sql2csv]
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
`js 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 */ `
