Skip to content

A knex.js session store for express-session, supporting PostgreSQL, MySQL, MariaDB, Oracle and SQLite.

License

Notifications You must be signed in to change notification settings

substackinc/connect-session-knex

 
 

Repository files navigation

Connect Session Knex

NPM Version NPM Downloads Node.js Version Build Status Dependency Status Coverage Status

NPM

connect-session-knex is an express-session store backed by PostgreSQL, MySQL, MariaDB, MSSQL, Oracle or SQLite3, via the knex.js library.

Installation

$ npm install connect-session-knex

Usage

Example application using the defaults

Example application with PostgreSQL

With Express 3 or Connect

Options

  • tablename='sessions' Tablename to use. Defaults to 'sessions'.
  • sidfieldname='sid' Field name in table to use for storing session ids. Defaults to 'sid'.
  • knex knex instance to use. Defaults to a new knex instance, using sqlite3 with a file named 'connect-session-knex.sqlite'
  • createtable if the table for sessions should be created automatically or not.
  • clearInterval milliseconds between clearing expired sessions. Defaults to 60000.

If the table does not exist in the schema, this module will attempt to create it unless the 'createtable' option is false.

If a knex instance is not provided, this module will attempt to create a sqlite3 database, with a file named 'connect-session-knex.sqlite', in the working directory of the process.

Schema

PostgreSQL or SQLite

Table Name "sessions"

Column Type Modifiers Storage
sid character varying(255) not null extended
sess json not null extended
expired timestamp with time zone not null plain

Indexes:

    "sessions_pkey" PRIMARY KEY, btree (sid)  
    "sessions_expired_index" btree (expired)

Benchmarks

https://github.com/llambda/express-session-benchmarks

About

A knex.js session store for express-session, supporting PostgreSQL, MySQL, MariaDB, Oracle and SQLite.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%