Trigger simulator
Test your trigger logic on JavaScript with trigger simulator
install
$ npm i
$ npm build
usage
$ npm run create template=default project=Demo
$ npm run watch
$ npm run test
Now in dir ./tests you can see new folder Demo. Write your code in Demo/Demo-spec.js
api
"use strict"; const Table = ; super; { thiscolumns = // id is primary key with serial id: "number" name: "text" note: "text" phone1: "text" sum: type: "number" // default value on insert // can be function() {return value} default: 10 // not null nulls: false ; // unique constraints thisunique = name: "unique_phone1" columns: "phone1" ; } let table = ; // insert empty rowlet insertedRow1 = table; // {id: 1} // insert with datalet insertedRow2 = table; // {id: 2, name: "Hello"} // insert arraylet insertedRows = table;// result// [// {id: 3, name: "Row 1"},// {id: 4, name: "Row 2"}// ] // select one value// (throw warning, only one row must be match filter)let name1 = table; // "Hello" // select one row// (throw warning, only one row must be match filter)let row1 = table; // {id: 2, name: "Hello"} // select some rowslet rows = table;// result// [// {id: 3, name: "Row 1"} ,// {id: 4, name: "Row 2"}// ] // update all rowstable;let rowsAfterUpdate = table;// result// [// {id: 1, note: "nice"} ,// {id: 2, name: "Hello", note: "nice"} ,// {id: 3, name: "Row 1", note: "nice"} ,// {id: 4, name: "Row 2", note: "nice"}// ] // update some rowstable; // up sum for all rowstable; // up sum for some rowstable; // delete all rowstable; // delete some rowstable; // Triggers: // before inserttable; // after inserttable; // before updatetable; // after updatetable; // update on columnstable; // before deletetable; // after deletetable;