sequelize-logbook
v0.0.1
Published
A plugin for adding a log book / revision history / audit / paper trail to a sequelize model.
Downloads
8
Maintainers
Readme
Sequelize-Logbook
A plugin for adding a log book / revision history / audit / paper trail to a sequelize model.
🎛 Usage
When using the models/index.js associate
pattern:
my-model.js
const trackRevisions = require('sequelize-logbook')
module.exports = function(sequelize, DataTypes) {
let MyModel = sequelize.define('MyModel', {
...
classMethods: {
...
associate: function(){
...
trackRevisions(MyModel)
}
}
})
}
General use
const trackRevisions = require('sequelize-logbook')
let MyModel = sequelize.define('MyModel', {...})
let AnotherModel = sequelize.define('AnotherModel', {...})
trackRevisions(MyModel)
trackRevisions(AnotherModel)
🐲 whoDunnit / blame / author tracking.
SequelizeRevisions will look against the global sequelize object for a whoDunnit key. If this key is present, it will save this value as the author of the revision. Otherwise, it'll fall back to process.env.NODE_ENV
const sequelize = new Sequelize(db, user, password, config)
sequelize.whoDunnit = 'yourUserString'
⚠ Caveats
Revisions will not be automatically generated for instances created, deleted, or updated with Bulk actions
If you want revisions generated for Bulk actions, pass individualHooks: true
as a sequelize option.
🏗 Contributing
📐 Tests
npm run test
✂ Linting
npm run prettier
✨ Inspired by
Related:
This library is similar to these other packages, with the addition of:
- whoDunnit / blame history
- Unit tests! 📏
- sequelize-paper-trail - ⛔ empty unit tests
- sequelize-temporal - 👴 not maintained
- sequelize-revisions - 🚫 no unit tests
License
Sequelize-logbook is MIT licensed.