31 lines
770 B
JavaScript
31 lines
770 B
JavaScript
import grabTriggerName from "./grab-trigger-name";
|
|
const TriggerTypes = [
|
|
{
|
|
name: "after_insert",
|
|
value: "INSERT",
|
|
},
|
|
{
|
|
name: "after_update",
|
|
value: "UPDATE",
|
|
},
|
|
{
|
|
name: "after_delete",
|
|
value: "DELETE",
|
|
},
|
|
];
|
|
export default function triggerSQLGen({ type, srcDbSchema, srcTableSchema, content, userId, paradigm, }) {
|
|
let sql = `CREATE TRIGGER`;
|
|
let triggerName = grabTriggerName({
|
|
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;
|
|
}
|