mirror of
https://github.com/danbulant/sql2csv
synced 2026-06-20 23:11:12 +00:00
Initial commit
This commit is contained in:
commit
0ca414b48c
5 changed files with 180 additions and 0 deletions
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Auto detect text files and perform LF normalization
|
||||||
|
* text=auto
|
||||||
88
.gitignore
vendored
Normal file
88
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,88 @@
|
||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||||
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
*.lcov
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# TypeScript v1 declaration files
|
||||||
|
typings/
|
||||||
|
|
||||||
|
# TypeScript cache
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# dotenv environment variables file
|
||||||
|
.env
|
||||||
|
.env.test
|
||||||
|
|
||||||
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
.cache
|
||||||
|
|
||||||
|
# next.js build output
|
||||||
|
.next
|
||||||
|
|
||||||
|
# nuxt.js build output
|
||||||
|
.nuxt
|
||||||
|
|
||||||
|
# vuepress build output
|
||||||
|
.vuepress/dist
|
||||||
|
|
||||||
|
# Serverless directories
|
||||||
|
.serverless/
|
||||||
|
|
||||||
|
# FuseBox cache
|
||||||
|
.fusebox/
|
||||||
|
|
||||||
|
# DynamoDB Local files
|
||||||
|
.dynamodb/
|
||||||
8
config.yml
Normal file
8
config.yml
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
showNames: true #show names of columns in first row, defaults to false
|
||||||
|
crlf: true #use windows crlf instead of linux lf, defaults to false
|
||||||
|
|
||||||
|
# Connection:
|
||||||
|
host: database-1.cjbcrihhq2n4.us-east-2.rds.amazonaws.com #defaults to "localhost"
|
||||||
|
port: 3306 #defaults to 3306
|
||||||
|
username: user #defaults to "root"
|
||||||
|
password: password #defaults to ""(nothing)
|
||||||
71
index.js
Normal file
71
index.js
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
const fs = require("fs");
|
||||||
|
const configLoc = "config.yml";
|
||||||
|
var config = {};
|
||||||
|
|
||||||
|
function log(str){
|
||||||
|
if(str == undefined){
|
||||||
|
console.log();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(typeof str != "string"){
|
||||||
|
console.log(str);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log("[LOG] \x1b[2m" + str + "\x1b[0m");
|
||||||
|
}
|
||||||
|
function success(str){
|
||||||
|
console.log("[LOG] \x1b[32m" + str + "\x1b[0m");
|
||||||
|
}
|
||||||
|
function warn(str){
|
||||||
|
console.warn("[WARN] \x1b[33m" + str + "\x1b[0m");
|
||||||
|
}
|
||||||
|
function error(str){
|
||||||
|
console.error("[ERROR] \x1b[41m" + str + "\x1b[0m");
|
||||||
|
}
|
||||||
|
log("Starting...");
|
||||||
|
var today = new Date();
|
||||||
|
var dateTime = today.getFullYear() + "-" + (today.getMonth() + 1) + "-" + today.getDate() + " " + today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
|
||||||
|
log("Current time and date: " + dateTime);
|
||||||
|
log();
|
||||||
|
//read and check config
|
||||||
|
var configFile = fs.readFileSync(configLoc);
|
||||||
|
if(Buffer.isBuffer(configFile)){
|
||||||
|
configFile = configFile.toString();
|
||||||
|
}
|
||||||
|
configFile = configFile.split("\n");
|
||||||
|
configFile.forEach((line) => {
|
||||||
|
line = line.trim(); //trim line
|
||||||
|
if(line.indexOf("#") != -1) line = line.substr(0, line.indexOf("#"));
|
||||||
|
if(line.indexOf(":") == -1) return;
|
||||||
|
var value = line.substr(line.indexOf(":") + 1, line.length - line.indexOf(":")).trim();
|
||||||
|
if(value == "true") value = true;//string "true" save as literal true
|
||||||
|
if(value == "false") value = false;//same for false
|
||||||
|
if(value == parseInt(value)) value = parseInt(value);//save numbers as integers instead of strings
|
||||||
|
config[line.substr(0, line.indexOf(":")).trim()] = value;
|
||||||
|
});
|
||||||
|
//check config
|
||||||
|
if(config.showNames == undefined){
|
||||||
|
warn("Undefined showNames, using false");
|
||||||
|
config.showNames = false;
|
||||||
|
}
|
||||||
|
if(config.crlf == undefined){
|
||||||
|
warn("Undefined crlf, using false");
|
||||||
|
config.crlf = false;
|
||||||
|
}
|
||||||
|
if(config.host == undefined){
|
||||||
|
warn("Undefined crlf, using false");
|
||||||
|
config.host = false;
|
||||||
|
}
|
||||||
|
if(config.port == undefined){
|
||||||
|
warn("Undefined crlf, using false");
|
||||||
|
config.port = false;
|
||||||
|
}
|
||||||
|
if(config.username == undefined){
|
||||||
|
warn("Undefined crlf, using false");
|
||||||
|
config.username = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(config.password == undefined){
|
||||||
|
warn("Undefined crlf, using false");
|
||||||
|
config.password = false;
|
||||||
|
}
|
||||||
11
package.json
Normal file
11
package.json
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"name": "sql2csv",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"start": "node index.js"
|
||||||
|
},
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC"
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue