37 lines
1.0 KiB
JavaScript
37 lines
1.0 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.default = triggerSQLGen;
|
|
const grab_trigger_name_1 = __importDefault(require("./grab-trigger-name"));
|
|
const TriggerTypes = [
|
|
{
|
|
name: "after_insert",
|
|
value: "INSERT",
|
|
},
|
|
{
|
|
name: "after_update",
|
|
value: "UPDATE",
|
|
},
|
|
{
|
|
name: "after_delete",
|
|
value: "DELETE",
|
|
},
|
|
];
|
|
function triggerSQLGen({ type, srcDbSchema, srcTableSchema, content, userId, paradigm, }) {
|
|
let sql = `CREATE TRIGGER`;
|
|
let triggerName = (0, grab_trigger_name_1.default)({
|
|
paradigm,
|
|
dbId: srcDbSchema.id,
|
|
tableName: srcTableSchema.tableName,
|
|
userId,
|
|
});
|
|
sql += ` ${triggerName}`;
|
|
sql += ` AFTER ${type.value} ON ${srcTableSchema.tableName}`;
|
|
sql += ` FOR EACH ROW BEGIN`;
|
|
sql += ` ${content}`;
|
|
sql += ` END`;
|
|
return sql;
|
|
}
|