Flux Capacitor - Sequelize Database Bindings

Database bindings for the Flux Capacitor. Uses Sequelize ORM to connect to PostgreSQL, MySQL, SQLite and MSSQL databases.
Usage
Here comes some sample code showing how to connect to a database, set up a simple data model and create a flux capacitor store using it:
const { aggregateReducers, createStore, eventLogReducer } = require('flux-capacitor')
const { connectTo } = require('flux-capacitor-sequelize')
const createEventModel = require('flux-capacitor-sequelize').createEventModel
const Sequelize = require('sequelize')
async function setUpStore () {
const database = await connectTo('postgres://user:pass@example.com:5432/dbname', createCollections)
const rootReducer = aggregateReducers(reducer, eventLogReducer)
return await createStore(rootReducer, database)
}
function createCollections (sequelize, createCollection) {
return [
createCollection('Events', createEventModel(sequelize)),
createCollection('Issues', createIssueModel(sequelize))
]
}
function createIssueModel (sequelize) {
return sequelize.define('Issue', {
id: { type: Sequelize.UUID, primaryKey: true },
title: { type: Sequelize.STRING, allowNull: false },
content: { type: Sequelize.TEXT },
})
}
License
Released under the terms of the MIT license.