@vritti/api-sdk 0.2.7 → 0.2.9
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/dist/index.cjs +74 -502
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -82
- package/dist/index.d.ts +2 -82
- package/dist/index.js +54 -473
- package/dist/index.js.map +1 -1
- package/dist/migrate.cjs +88 -0
- package/dist/migrate.cjs.map +1 -0
- package/dist/migrate.d.cts +7 -0
- package/dist/migrate.d.ts +7 -0
- package/dist/migrate.js +63 -0
- package/dist/migrate.js.map +1 -0
- package/dist/nats.cjs +519 -0
- package/dist/nats.cjs.map +1 -0
- package/dist/nats.d.cts +85 -0
- package/dist/nats.d.ts +85 -0
- package/dist/nats.js +486 -0
- package/dist/nats.js.map +1 -0
- package/package.json +21 -1
package/dist/migrate.cjs
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
|
|
21
|
+
// src/migrate.ts
|
|
22
|
+
var migrate_exports = {};
|
|
23
|
+
__export(migrate_exports, {
|
|
24
|
+
runMigrationsAndGrants: () => runMigrationsAndGrants
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(migrate_exports);
|
|
27
|
+
|
|
28
|
+
// src/database/migrate-runner.ts
|
|
29
|
+
var import_node_postgres = require("drizzle-orm/node-postgres");
|
|
30
|
+
var import_migrator = require("drizzle-orm/node-postgres/migrator");
|
|
31
|
+
var import_pg = require("pg");
|
|
32
|
+
function quoteIdent(name) {
|
|
33
|
+
if (!/^[A-Za-z_][A-Za-z0-9_$]*$/.test(name)) {
|
|
34
|
+
throw new Error(`Unsafe SQL identifier: ${name}`);
|
|
35
|
+
}
|
|
36
|
+
return `"${name}"`;
|
|
37
|
+
}
|
|
38
|
+
__name(quoteIdent, "quoteIdent");
|
|
39
|
+
function requiredEnv(name) {
|
|
40
|
+
const value = process.env[name];
|
|
41
|
+
if (!value) {
|
|
42
|
+
throw new Error(`${name} environment variable is required`);
|
|
43
|
+
}
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
__name(requiredEnv, "requiredEnv");
|
|
47
|
+
async function runMigrationsAndGrants(options) {
|
|
48
|
+
const directUrl = requiredEnv("PRIMARY_DB_DATABASE_DIRECT_URL");
|
|
49
|
+
const dbSchema = requiredEnv("PRIMARY_DB_SCHEMA");
|
|
50
|
+
const migrationSchema = requiredEnv("PRIMARY_DB_MIGRATION_SCHEMA");
|
|
51
|
+
const appRole = requiredEnv("PRIMARY_DB_USERNAME");
|
|
52
|
+
const pool = new import_pg.Pool({
|
|
53
|
+
connectionString: directUrl,
|
|
54
|
+
max: 1
|
|
55
|
+
});
|
|
56
|
+
const db = (0, import_node_postgres.drizzle)({
|
|
57
|
+
client: pool
|
|
58
|
+
});
|
|
59
|
+
try {
|
|
60
|
+
console.log(`[migrate] applying migrations from ${options.migrationsFolder}`);
|
|
61
|
+
await (0, import_migrator.migrate)(db, {
|
|
62
|
+
migrationsFolder: options.migrationsFolder,
|
|
63
|
+
migrationsTable: options.migrationsTable,
|
|
64
|
+
migrationsSchema: migrationSchema
|
|
65
|
+
});
|
|
66
|
+
const schema = quoteIdent(dbSchema);
|
|
67
|
+
const role = quoteIdent(appRole);
|
|
68
|
+
console.log(`[migrate] granting ${dbSchema} privileges to ${appRole}`);
|
|
69
|
+
await pool.query(`
|
|
70
|
+
GRANT USAGE ON SCHEMA ${schema} TO ${role};
|
|
71
|
+
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA ${schema} TO ${role};
|
|
72
|
+
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA ${schema} TO ${role};
|
|
73
|
+
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA ${schema} TO ${role};
|
|
74
|
+
ALTER DEFAULT PRIVILEGES IN SCHEMA ${schema} GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO ${role};
|
|
75
|
+
ALTER DEFAULT PRIVILEGES IN SCHEMA ${schema} GRANT USAGE, SELECT ON SEQUENCES TO ${role};
|
|
76
|
+
ALTER DEFAULT PRIVILEGES IN SCHEMA ${schema} GRANT EXECUTE ON FUNCTIONS TO ${role};
|
|
77
|
+
`);
|
|
78
|
+
console.log("[migrate] done");
|
|
79
|
+
} finally {
|
|
80
|
+
await pool.end();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
__name(runMigrationsAndGrants, "runMigrationsAndGrants");
|
|
84
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
85
|
+
0 && (module.exports = {
|
|
86
|
+
runMigrationsAndGrants
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=migrate.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/migrate.ts","../src/database/migrate-runner.ts"],"sourcesContent":["// Subpath entry: @vritti/api-sdk/migrate — DB migration + grants runner for release-phase one-shots.\nexport { type MigrateRunnerOptions, runMigrationsAndGrants } from './database/migrate-runner';\n","import { drizzle } from 'drizzle-orm/node-postgres';\nimport { migrate } from 'drizzle-orm/node-postgres/migrator';\nimport { Pool } from 'pg';\n\n// Options for runMigrationsAndGrants — supplied by each app's thin migrate entry.\nexport interface MigrateRunnerOptions {\n // Absolute path to the Drizzle migrations folder (each app resolves this from its own dist).\n migrationsFolder: string;\n // Per-app migration bookkeeping table — must match the app's drizzle.config.ts.\n migrationsTable: string;\n}\n\n// Validates and quotes a Postgres identifier (role/schema names can't be bound as query params).\nfunction quoteIdent(name: string): string {\n if (!/^[A-Za-z_][A-Za-z0-9_$]*$/.test(name)) {\n throw new Error(`Unsafe SQL identifier: ${name}`);\n }\n return `\"${name}\"`;\n}\n\n// Reads a required environment variable or throws.\nfunction requiredEnv(name: string): string {\n const value = process.env[name];\n if (!value) {\n throw new Error(`${name} environment variable is required`);\n }\n return value;\n}\n\n// Applies Drizzle migrations as the owner (PRIMARY_DB_DATABASE_DIRECT_URL), then idempotently\n// grants the runtime app role (PRIMARY_DB_USERNAME) access to the schema. Intended to run as a\n// release-phase one-shot before the application containers roll.\nexport async function runMigrationsAndGrants(options: MigrateRunnerOptions): Promise<void> {\n const directUrl = requiredEnv('PRIMARY_DB_DATABASE_DIRECT_URL');\n const dbSchema = requiredEnv('PRIMARY_DB_SCHEMA');\n const migrationSchema = requiredEnv('PRIMARY_DB_MIGRATION_SCHEMA');\n const appRole = requiredEnv('PRIMARY_DB_USERNAME');\n\n // Single connection as the owner role — runs both DDL and the grants below.\n const pool = new Pool({ connectionString: directUrl, max: 1 });\n const db = drizzle({ client: pool });\n\n try {\n console.log(`[migrate] applying migrations from ${options.migrationsFolder}`);\n await migrate(db, {\n migrationsFolder: options.migrationsFolder,\n migrationsTable: options.migrationsTable,\n migrationsSchema: migrationSchema,\n });\n\n const schema = quoteIdent(dbSchema);\n const role = quoteIdent(appRole);\n console.log(`[migrate] granting ${dbSchema} privileges to ${appRole}`);\n\n // All statements are idempotent — safe on every deploy. ALTER DEFAULT PRIVILEGES auto-grants\n // future tables/sequences/functions the owner creates. No-op when appRole equals the owner.\n await pool.query(`\n GRANT USAGE ON SCHEMA ${schema} TO ${role};\n GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA ${schema} TO ${role};\n GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA ${schema} TO ${role};\n GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA ${schema} TO ${role};\n ALTER DEFAULT PRIVILEGES IN SCHEMA ${schema} GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO ${role};\n ALTER DEFAULT PRIVILEGES IN SCHEMA ${schema} GRANT USAGE, SELECT ON SEQUENCES TO ${role};\n ALTER DEFAULT PRIVILEGES IN SCHEMA ${schema} GRANT EXECUTE ON FUNCTIONS TO ${role};\n `);\n\n console.log('[migrate] done');\n } finally {\n await pool.end();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,2BAAwB;AACxB,sBAAwB;AACxB,gBAAqB;AAWrB,SAASA,WAAWC,MAAY;AAC9B,MAAI,CAAC,4BAA4BC,KAAKD,IAAAA,GAAO;AAC3C,UAAM,IAAIE,MAAM,0BAA0BF,IAAAA,EAAM;EAClD;AACA,SAAO,IAAIA,IAAAA;AACb;AALSD;AAQT,SAASI,YAAYH,MAAY;AAC/B,QAAMI,QAAQC,QAAQC,IAAIN,IAAAA;AAC1B,MAAI,CAACI,OAAO;AACV,UAAM,IAAIF,MAAM,GAAGF,IAAAA,mCAAuC;EAC5D;AACA,SAAOI;AACT;AANSD;AAWT,eAAsBI,uBAAuBC,SAA6B;AACxE,QAAMC,YAAYN,YAAY,gCAAA;AAC9B,QAAMO,WAAWP,YAAY,mBAAA;AAC7B,QAAMQ,kBAAkBR,YAAY,6BAAA;AACpC,QAAMS,UAAUT,YAAY,qBAAA;AAG5B,QAAMU,OAAO,IAAIC,eAAK;IAAEC,kBAAkBN;IAAWO,KAAK;EAAE,CAAA;AAC5D,QAAMC,SAAKC,8BAAQ;IAAEC,QAAQN;EAAK,CAAA;AAElC,MAAI;AACFO,YAAQC,IAAI,sCAAsCb,QAAQc,gBAAgB,EAAE;AAC5E,cAAMC,yBAAQN,IAAI;MAChBK,kBAAkBd,QAAQc;MAC1BE,iBAAiBhB,QAAQgB;MACzBC,kBAAkBd;IACpB,CAAA;AAEA,UAAMe,SAAS3B,WAAWW,QAAAA;AAC1B,UAAMiB,OAAO5B,WAAWa,OAAAA;AACxBQ,YAAQC,IAAI,sBAAsBX,QAAAA,kBAA0BE,OAAAA,EAAS;AAIrE,UAAMC,KAAKe,MAAM;8BACSF,MAAAA,OAAaC,IAAAA;uEAC4BD,MAAAA,OAAaC,IAAAA;wEACZD,MAAAA,OAAaC,IAAAA;wEACbD,MAAAA,OAAaC,IAAAA;2CAC1CD,MAAAA,yDAA+DC,IAAAA;2CAC/DD,MAAAA,yDAA+DC,IAAAA;2CAC/DD,MAAAA,yDAA+DC,IAAAA;KACrG;AAEDP,YAAQC,IAAI,gBAAA;EACd,UAAA;AACE,UAAMR,KAAKgB,IAAG;EAChB;AACF;AAtCsBtB;","names":["quoteIdent","name","test","Error","requiredEnv","value","process","env","runMigrationsAndGrants","options","directUrl","dbSchema","migrationSchema","appRole","pool","Pool","connectionString","max","db","drizzle","client","console","log","migrationsFolder","migrate","migrationsTable","migrationsSchema","schema","role","query","end"]}
|
package/dist/migrate.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
4
|
+
// src/database/migrate-runner.ts
|
|
5
|
+
import { drizzle } from "drizzle-orm/node-postgres";
|
|
6
|
+
import { migrate } from "drizzle-orm/node-postgres/migrator";
|
|
7
|
+
import { Pool } from "pg";
|
|
8
|
+
function quoteIdent(name) {
|
|
9
|
+
if (!/^[A-Za-z_][A-Za-z0-9_$]*$/.test(name)) {
|
|
10
|
+
throw new Error(`Unsafe SQL identifier: ${name}`);
|
|
11
|
+
}
|
|
12
|
+
return `"${name}"`;
|
|
13
|
+
}
|
|
14
|
+
__name(quoteIdent, "quoteIdent");
|
|
15
|
+
function requiredEnv(name) {
|
|
16
|
+
const value = process.env[name];
|
|
17
|
+
if (!value) {
|
|
18
|
+
throw new Error(`${name} environment variable is required`);
|
|
19
|
+
}
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
__name(requiredEnv, "requiredEnv");
|
|
23
|
+
async function runMigrationsAndGrants(options) {
|
|
24
|
+
const directUrl = requiredEnv("PRIMARY_DB_DATABASE_DIRECT_URL");
|
|
25
|
+
const dbSchema = requiredEnv("PRIMARY_DB_SCHEMA");
|
|
26
|
+
const migrationSchema = requiredEnv("PRIMARY_DB_MIGRATION_SCHEMA");
|
|
27
|
+
const appRole = requiredEnv("PRIMARY_DB_USERNAME");
|
|
28
|
+
const pool = new Pool({
|
|
29
|
+
connectionString: directUrl,
|
|
30
|
+
max: 1
|
|
31
|
+
});
|
|
32
|
+
const db = drizzle({
|
|
33
|
+
client: pool
|
|
34
|
+
});
|
|
35
|
+
try {
|
|
36
|
+
console.log(`[migrate] applying migrations from ${options.migrationsFolder}`);
|
|
37
|
+
await migrate(db, {
|
|
38
|
+
migrationsFolder: options.migrationsFolder,
|
|
39
|
+
migrationsTable: options.migrationsTable,
|
|
40
|
+
migrationsSchema: migrationSchema
|
|
41
|
+
});
|
|
42
|
+
const schema = quoteIdent(dbSchema);
|
|
43
|
+
const role = quoteIdent(appRole);
|
|
44
|
+
console.log(`[migrate] granting ${dbSchema} privileges to ${appRole}`);
|
|
45
|
+
await pool.query(`
|
|
46
|
+
GRANT USAGE ON SCHEMA ${schema} TO ${role};
|
|
47
|
+
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA ${schema} TO ${role};
|
|
48
|
+
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA ${schema} TO ${role};
|
|
49
|
+
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA ${schema} TO ${role};
|
|
50
|
+
ALTER DEFAULT PRIVILEGES IN SCHEMA ${schema} GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO ${role};
|
|
51
|
+
ALTER DEFAULT PRIVILEGES IN SCHEMA ${schema} GRANT USAGE, SELECT ON SEQUENCES TO ${role};
|
|
52
|
+
ALTER DEFAULT PRIVILEGES IN SCHEMA ${schema} GRANT EXECUTE ON FUNCTIONS TO ${role};
|
|
53
|
+
`);
|
|
54
|
+
console.log("[migrate] done");
|
|
55
|
+
} finally {
|
|
56
|
+
await pool.end();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
__name(runMigrationsAndGrants, "runMigrationsAndGrants");
|
|
60
|
+
export {
|
|
61
|
+
runMigrationsAndGrants
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/database/migrate-runner.ts"],"sourcesContent":["import { drizzle } from 'drizzle-orm/node-postgres';\nimport { migrate } from 'drizzle-orm/node-postgres/migrator';\nimport { Pool } from 'pg';\n\n// Options for runMigrationsAndGrants — supplied by each app's thin migrate entry.\nexport interface MigrateRunnerOptions {\n // Absolute path to the Drizzle migrations folder (each app resolves this from its own dist).\n migrationsFolder: string;\n // Per-app migration bookkeeping table — must match the app's drizzle.config.ts.\n migrationsTable: string;\n}\n\n// Validates and quotes a Postgres identifier (role/schema names can't be bound as query params).\nfunction quoteIdent(name: string): string {\n if (!/^[A-Za-z_][A-Za-z0-9_$]*$/.test(name)) {\n throw new Error(`Unsafe SQL identifier: ${name}`);\n }\n return `\"${name}\"`;\n}\n\n// Reads a required environment variable or throws.\nfunction requiredEnv(name: string): string {\n const value = process.env[name];\n if (!value) {\n throw new Error(`${name} environment variable is required`);\n }\n return value;\n}\n\n// Applies Drizzle migrations as the owner (PRIMARY_DB_DATABASE_DIRECT_URL), then idempotently\n// grants the runtime app role (PRIMARY_DB_USERNAME) access to the schema. Intended to run as a\n// release-phase one-shot before the application containers roll.\nexport async function runMigrationsAndGrants(options: MigrateRunnerOptions): Promise<void> {\n const directUrl = requiredEnv('PRIMARY_DB_DATABASE_DIRECT_URL');\n const dbSchema = requiredEnv('PRIMARY_DB_SCHEMA');\n const migrationSchema = requiredEnv('PRIMARY_DB_MIGRATION_SCHEMA');\n const appRole = requiredEnv('PRIMARY_DB_USERNAME');\n\n // Single connection as the owner role — runs both DDL and the grants below.\n const pool = new Pool({ connectionString: directUrl, max: 1 });\n const db = drizzle({ client: pool });\n\n try {\n console.log(`[migrate] applying migrations from ${options.migrationsFolder}`);\n await migrate(db, {\n migrationsFolder: options.migrationsFolder,\n migrationsTable: options.migrationsTable,\n migrationsSchema: migrationSchema,\n });\n\n const schema = quoteIdent(dbSchema);\n const role = quoteIdent(appRole);\n console.log(`[migrate] granting ${dbSchema} privileges to ${appRole}`);\n\n // All statements are idempotent — safe on every deploy. ALTER DEFAULT PRIVILEGES auto-grants\n // future tables/sequences/functions the owner creates. No-op when appRole equals the owner.\n await pool.query(`\n GRANT USAGE ON SCHEMA ${schema} TO ${role};\n GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA ${schema} TO ${role};\n GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA ${schema} TO ${role};\n GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA ${schema} TO ${role};\n ALTER DEFAULT PRIVILEGES IN SCHEMA ${schema} GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO ${role};\n ALTER DEFAULT PRIVILEGES IN SCHEMA ${schema} GRANT USAGE, SELECT ON SEQUENCES TO ${role};\n ALTER DEFAULT PRIVILEGES IN SCHEMA ${schema} GRANT EXECUTE ON FUNCTIONS TO ${role};\n `);\n\n console.log('[migrate] done');\n } finally {\n await pool.end();\n }\n}\n"],"mappings":";;;;AAAA,SAASA,eAAe;AACxB,SAASC,eAAe;AACxB,SAASC,YAAY;AAWrB,SAASC,WAAWC,MAAY;AAC9B,MAAI,CAAC,4BAA4BC,KAAKD,IAAAA,GAAO;AAC3C,UAAM,IAAIE,MAAM,0BAA0BF,IAAAA,EAAM;EAClD;AACA,SAAO,IAAIA,IAAAA;AACb;AALSD;AAQT,SAASI,YAAYH,MAAY;AAC/B,QAAMI,QAAQC,QAAQC,IAAIN,IAAAA;AAC1B,MAAI,CAACI,OAAO;AACV,UAAM,IAAIF,MAAM,GAAGF,IAAAA,mCAAuC;EAC5D;AACA,SAAOI;AACT;AANSD;AAWT,eAAsBI,uBAAuBC,SAA6B;AACxE,QAAMC,YAAYN,YAAY,gCAAA;AAC9B,QAAMO,WAAWP,YAAY,mBAAA;AAC7B,QAAMQ,kBAAkBR,YAAY,6BAAA;AACpC,QAAMS,UAAUT,YAAY,qBAAA;AAG5B,QAAMU,OAAO,IAAIC,KAAK;IAAEC,kBAAkBN;IAAWO,KAAK;EAAE,CAAA;AAC5D,QAAMC,KAAKC,QAAQ;IAAEC,QAAQN;EAAK,CAAA;AAElC,MAAI;AACFO,YAAQC,IAAI,sCAAsCb,QAAQc,gBAAgB,EAAE;AAC5E,UAAMC,QAAQN,IAAI;MAChBK,kBAAkBd,QAAQc;MAC1BE,iBAAiBhB,QAAQgB;MACzBC,kBAAkBd;IACpB,CAAA;AAEA,UAAMe,SAAS3B,WAAWW,QAAAA;AAC1B,UAAMiB,OAAO5B,WAAWa,OAAAA;AACxBQ,YAAQC,IAAI,sBAAsBX,QAAAA,kBAA0BE,OAAAA,EAAS;AAIrE,UAAMC,KAAKe,MAAM;8BACSF,MAAAA,OAAaC,IAAAA;uEAC4BD,MAAAA,OAAaC,IAAAA;wEACZD,MAAAA,OAAaC,IAAAA;wEACbD,MAAAA,OAAaC,IAAAA;2CAC1CD,MAAAA,yDAA+DC,IAAAA;2CAC/DD,MAAAA,yDAA+DC,IAAAA;2CAC/DD,MAAAA,yDAA+DC,IAAAA;KACrG;AAEDP,YAAQC,IAAI,gBAAA;EACd,UAAA;AACE,UAAMR,KAAKgB,IAAG;EAChB;AACF;AAtCsBtB;","names":["drizzle","migrate","Pool","quoteIdent","name","test","Error","requiredEnv","value","process","env","runMigrationsAndGrants","options","directUrl","dbSchema","migrationSchema","appRole","pool","Pool","connectionString","max","db","drizzle","client","console","log","migrationsFolder","migrate","migrationsTable","migrationsSchema","schema","role","query","end"]}
|