pg-triggers 0.3.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/pg-triggers.d.ts +5 -0
- package/lib/pg-triggers.js +14 -0
- package/lib/table-max-id-trg.sql +20 -0
- package/package.json +6 -6
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference path="./pg-triggers.d.ts" />
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var fs = require("fs/promises");
|
|
5
|
+
|
|
6
|
+
var pgTriggers = {}
|
|
7
|
+
|
|
8
|
+
pgTriggers.table_name_max_id_trg = async function table_name_max_id_trg (tableName, idName) {
|
|
9
|
+
var content = await fs.readFile(__dirname + "/table-max-id-trg.sql", "utf8");
|
|
10
|
+
var sql = content.replace(/table_name/g, tableName).replace(/id_name/g, idName);
|
|
11
|
+
return sql;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
module.exports = pgTriggers;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
create or replace function table_name_max_id_trg() returns trigger
|
|
2
|
+
language plpgsql
|
|
3
|
+
as
|
|
4
|
+
$body$
|
|
5
|
+
declare
|
|
6
|
+
curr_max bigint;
|
|
7
|
+
begin
|
|
8
|
+
if new.id_name is null then
|
|
9
|
+
select max(id_name) into curr_max
|
|
10
|
+
from table_name;
|
|
11
|
+
new.id_name := coalesce(curr_max + 1, 1);
|
|
12
|
+
end if;
|
|
13
|
+
return new;
|
|
14
|
+
end;
|
|
15
|
+
$body$;
|
|
16
|
+
|
|
17
|
+
create trigger table_name_max_id_trg
|
|
18
|
+
before insert
|
|
19
|
+
on table_name
|
|
20
|
+
for each row execute function table_name_max_id_trg();
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pg-triggers",
|
|
3
3
|
"description": "Triggers for postgres",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.4.0",
|
|
5
5
|
"author": "Emilio Platzer <emilioplatzer@gmail.com>",
|
|
6
6
|
"repository": "emilioplatzer/pg-triggers",
|
|
7
7
|
"license": "MIT",
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {},
|
|
13
13
|
"devDependencies": {
|
|
14
|
-
"mocha": "^
|
|
15
|
-
"nyc": "^
|
|
16
|
-
"best-globals": "^
|
|
14
|
+
"mocha": "^11.7.0",
|
|
15
|
+
"nyc": "^17.1.0",
|
|
16
|
+
"best-globals": "^2.0.1",
|
|
17
17
|
"discrepances": "^0.2.8",
|
|
18
|
-
"mini-tools": "^1.
|
|
19
|
-
"pg-promise-strict": "^1.4.
|
|
18
|
+
"mini-tools": "^1.13.2",
|
|
19
|
+
"pg-promise-strict": "^1.4.2"
|
|
20
20
|
},
|
|
21
21
|
"engines": {
|
|
22
22
|
"node": ">= 16"
|