Socket
Socket
Sign inDemoInstall

mysql-import

Package Overview
Dependencies
11
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    mysql-import

Import .sql into a MySQL database with Node.


Version published
Maintainers
1
Created

Readme

Source

Version 1.0.13

Build Status Coverage Status

Import MySQL files with Node!

Install

$ npm install --save mysql-import

Usage

Include the package.

const mysql_import = require('mysql-import');

mysql-import exposes one methods and version property. mysql_import.version is a string showing the current version of the package.

mysql-import.config(Object settings)

Prepare the package to communicate with your database and handle any errors. This method must be called before importing anything.

The settings object has 4 mandatory parameters and 1 optional parameter.

  • host - (mandatory) The MySQL host to connect to.
  • user - (mandatory) The MySQL user to connect with.
  • password - (mandatory) The password for the user.
  • database - (mandatory) The database to connect to.
  • onerror - (optional) Function to handle errors. The function will receive the Error. If not provided the error will be thrown.

The config method returns a new importer instance.

importer.import(String filename)

Import an .sql file to the database.

The import method returns a Promise which is resolved when (and if) the file has completely imported. This promise is never rejected, if there is an error, the onerror function passed to the config method is called with the error object passed into it.

Note that each query in the text file must terminate with an unquoted semicolon (;) followed by a newline or the end of the file.

Examples

Do it in a single call if you only need to import a single file to a single DB:

require('mysql-import').config({
	host: 'localhost',
	user: 'testuser',
	password: 'testpwd',
	database: 'mydb',
	onerror: err=>console.log(err.message)
}).import('mydb.sql').then(()=> {
	console.log('all statements have been executed')
});

If you need to import to more than one database:

const mysql_import = require('mysql-import');
var importer1 = mysql_import.config({
	host: 'localhost',
	user: 'testuser',
	password: 'testpwd',
	database: 'mydb',
	onerror: err=>console.log(err.message)
});
var importer2 = mysql_import.config({
	host: 'localhost',
	user: 'testuser',
	password: 'testpwd',
	database: 'mydb2',
	onerror: err=>console.log(err.message)
});
importer.import('mydb.sql').then(()=> {
	console.log('DB1 has finished importing')
});
importer2.import('mydb2.sql').then(()=> {
	console.log('DB2 has finished importing')
});

Credit where credit is due

This is a fork of the node package node-mysql-importer originally created by some European dude. I was using this as a dependency in another project and had a few issues (namely, semicolons in the import data causing errors). I left an issue on his repo and he promptly deleted (or hid) the repo, so I fixed it myself and will maintain my own copy. This one has a much more robust pre-parser, and is almost entirely re-written.

Thanks for your work, Mark.

Keywords

FAQs

Last updated on 06 Feb 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc