sequelize-journaling v1.2.3
sequelize-Journaling
hooks.js : this file is Responsible for creating hooks in sequelize models \ and all the hooks are export from the file and require and initialize in app.js \ file.
test.js : runs simple express server for one route('/') on localhost:3000 and \ virtualize create - update - delete - undoDelete - undoUpdate action in for \ example MySQL database that hooks class is called and initialized in the \ beginning of the file. At the end authenticate the connection throw db and \ run the server.
model.js : build all the models once sync with {alter:true} to create the model.
trigger-on-mysql.sql : It is a practical SQL queries MySQL triggers for my two models.
sequelize.js : Create sequelize connection and exports required tools for usage \ in other files.
sync.js : Define sync and authenticate function of sequelzie and exports them.
unitTest.js : Suppose that you created your model and run the server and connect \ to db and create table and history tables then you can use this file to do \ action to your database for test performance, etc.
Installation
Use the package manager npm to install sequelize-Journaling.
npm i --save sequelize-Journaling
Usage
For use this package you need to create your models (as you can see i create \ User and Product model) and then initialize Hook class and pass model instance\ as a parameter to hook instance and the call the throwHook at the end just \ like I do in test.js file.
const hooks = require("./hooks");
new hook(req, p, modelHistory, { fullRow: false }).throwHook();
code flow
Create models in models.js and sync them, pass models array from models.js \ to test.js and instance from sequelize.js to test.js, initialize the \ hook.js file, define and sync history model in hook.js file with the help of \ requiring hook.js, test the functionality with different method in test.js.