librarian-mysql-storage

1.0.1 • Public • Published

Librarian Mysql Storage

Note: This version of librarian-mysql-storage is compatible with librarian 2.0.0 and above.

Warning: Storing files in MYSQL is usually not the greatest idea. We recommend using something like a filesystem or Amazon S3 for better storage

Installation

$ npm install librarian-mysql-storage

Usage

var express = require('express')
var librarian = require('librarian')
var MysqlStorage = require('librarian-mysql-storage')
var storage = new MysqlStorage(options) // see below
 
var app = express()
app.use('/files', librarian({
    storage: storage
}))
 
app.listen(8888, function(){
    console.log('app listening')
})

Options

Options is an object containing any of the following options.

host

The host to connect to. Defaults to localhost.

port

The port to connect to. Defaults to 3306.

database

The database name. Defaults to librarian.

table

The database table for the file records. If you use the writeSchema option, one will be created for you with this name. But if you already have a table, make sure it has the correct format.

Field Type Notes
name VARCHAR(150) Will store file names (150 is probably long enough, right?)
data MEDIUMBLOB Actual file storage (will store 16MB files)

If you need to store larger files, use LONGBLOB to store files up to 4GB

user

The user to connect as. Defaults to librarian.

password (required)

The password to use. Use '' if you don't want a password.

writeSchema

Should this plugin attempt to create the database/table for you? If you set this to true, it should fail gracefully if the database/table already exists.

Defaults to false.

connectTimeout

The amount of milliseconds init() will wait for MySQL to come online before failing.

Defaults to 45 * 1000 (milliseconds).

retryWaitTime

The amount of milliseconds init() will wait between connection attempts.

Defaults to 1000 (milliseconds).

Readme

Keywords

none

Package Sidebar

Install

npm i librarian-mysql-storage

Weekly Downloads

0

Version

1.0.1

License

ISC

Last publish

Collaborators

  • joshwillik