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.

Usage no npm install needed!

<script type="module">
  import sequelizeJournaling from 'https://cdn.skypack.dev/sequelize-journaling';
</script>

README

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.

end