@hexaijs/postgres 0.4.0 → 0.5.1

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.
Files changed (58) hide show
  1. package/dist/helpers-vPAudN_S.d.ts +125 -0
  2. package/dist/index.d.ts +64 -8
  3. package/dist/index.js +828 -29
  4. package/dist/index.js.map +1 -1
  5. package/dist/test.d.ts +9 -8
  6. package/dist/test.js +683 -246
  7. package/dist/test.js.map +1 -1
  8. package/package.json +7 -7
  9. package/dist/config/index.d.ts +0 -3
  10. package/dist/config/index.d.ts.map +0 -1
  11. package/dist/config/index.js +0 -19
  12. package/dist/config/index.js.map +0 -1
  13. package/dist/config/postgres-config-spec.d.ts +0 -32
  14. package/dist/config/postgres-config-spec.d.ts.map +0 -1
  15. package/dist/config/postgres-config-spec.js +0 -49
  16. package/dist/config/postgres-config-spec.js.map +0 -1
  17. package/dist/config/postgres-config.d.ts +0 -59
  18. package/dist/config/postgres-config.d.ts.map +0 -1
  19. package/dist/config/postgres-config.js +0 -181
  20. package/dist/config/postgres-config.js.map +0 -1
  21. package/dist/helpers.d.ts +0 -57
  22. package/dist/helpers.d.ts.map +0 -1
  23. package/dist/helpers.js +0 -276
  24. package/dist/helpers.js.map +0 -1
  25. package/dist/index.d.ts.map +0 -1
  26. package/dist/postgres-event-store.d.ts +0 -18
  27. package/dist/postgres-event-store.d.ts.map +0 -1
  28. package/dist/postgres-event-store.js +0 -83
  29. package/dist/postgres-event-store.js.map +0 -1
  30. package/dist/postgres-unit-of-work.d.ts +0 -24
  31. package/dist/postgres-unit-of-work.d.ts.map +0 -1
  32. package/dist/postgres-unit-of-work.js +0 -308
  33. package/dist/postgres-unit-of-work.js.map +0 -1
  34. package/dist/run-hexai-migrations.d.ts +0 -3
  35. package/dist/run-hexai-migrations.d.ts.map +0 -1
  36. package/dist/run-hexai-migrations.js +0 -17
  37. package/dist/run-hexai-migrations.js.map +0 -1
  38. package/dist/run-migrations.d.ts +0 -11
  39. package/dist/run-migrations.d.ts.map +0 -1
  40. package/dist/run-migrations.js +0 -202
  41. package/dist/run-migrations.js.map +0 -1
  42. package/dist/test-fixtures/config.d.ts +0 -5
  43. package/dist/test-fixtures/config.d.ts.map +0 -1
  44. package/dist/test-fixtures/config.js +0 -14
  45. package/dist/test-fixtures/config.js.map +0 -1
  46. package/dist/test-fixtures/hooks.d.ts +0 -8
  47. package/dist/test-fixtures/hooks.d.ts.map +0 -1
  48. package/dist/test-fixtures/hooks.js +0 -77
  49. package/dist/test-fixtures/hooks.js.map +0 -1
  50. package/dist/test-fixtures/index.d.ts +0 -3
  51. package/dist/test-fixtures/index.d.ts.map +0 -1
  52. package/dist/test-fixtures/index.js +0 -19
  53. package/dist/test-fixtures/index.js.map +0 -1
  54. package/dist/test.d.ts.map +0 -1
  55. package/dist/types.d.ts +0 -14
  56. package/dist/types.d.ts.map +0 -1
  57. package/dist/types.js +0 -11
  58. package/dist/types.js.map +0 -1
@@ -1,308 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.DefaultPostgresUnitOfWork = void 0;
37
- exports.createPostgresUnitOfWork = createPostgresUnitOfWork;
38
- const node_async_hooks_1 = require("node:async_hooks");
39
- const pg = __importStar(require("pg"));
40
- const core_1 = require("@hexaijs/core");
41
- const config_1 = require("./config");
42
- const types_1 = require("./types");
43
- const helpers_1 = require("./helpers");
44
- class DefaultPostgresUnitOfWork {
45
- clientFactory;
46
- clientCleanUp;
47
- transactionStorage = new node_async_hooks_1.AsyncLocalStorage();
48
- constructor(clientFactory, clientCleanUp) {
49
- this.clientFactory = clientFactory;
50
- this.clientCleanUp = clientCleanUp;
51
- }
52
- getClient() {
53
- const current = this.getCurrentTransaction();
54
- if (!current) {
55
- throw new Error("Unit of work not started");
56
- }
57
- return current.getClient();
58
- }
59
- async wrap(fn, options = {}) {
60
- const resolvedOptions = this.resolveOptions(options);
61
- const transaction = this.resolveTransaction(resolvedOptions);
62
- return this.executeInContext(transaction, (tx) => tx.execute(fn, resolvedOptions));
63
- }
64
- async withClient(fn) {
65
- const currentTransaction = this.getCurrentTransaction();
66
- if (currentTransaction) {
67
- return fn(currentTransaction.getClient());
68
- }
69
- const client = await this.clientFactory();
70
- try {
71
- await (0, helpers_1.ensureConnection)(client);
72
- return await fn(client);
73
- }
74
- finally {
75
- await this.clientCleanUp?.(client);
76
- }
77
- }
78
- getCurrentTransaction() {
79
- return this.transactionStorage.getStore() ?? null;
80
- }
81
- resolveOptions(options) {
82
- return {
83
- propagation: core_1.Propagation.EXISTING,
84
- ...options,
85
- };
86
- }
87
- resolveTransaction(options) {
88
- if (options.propagation === core_1.Propagation.NEW) {
89
- return this.createTransaction();
90
- }
91
- return this.getCurrentTransaction() ?? this.createTransaction();
92
- }
93
- createTransaction() {
94
- return new PostgresTransaction(this.clientFactory, this.clientCleanUp);
95
- }
96
- executeInContext(transaction, callback) {
97
- return this.transactionStorage.run(transaction, () => callback(transaction));
98
- }
99
- }
100
- exports.DefaultPostgresUnitOfWork = DefaultPostgresUnitOfWork;
101
- class PostgresTransaction {
102
- clientFactory;
103
- clientCleanUp;
104
- initialized = false;
105
- closed = false;
106
- abortError;
107
- nestingDepth = 0;
108
- options;
109
- client;
110
- savepoints = [];
111
- constructor(clientFactory, clientCleanUp) {
112
- this.clientFactory = clientFactory;
113
- this.clientCleanUp = clientCleanUp;
114
- }
115
- async execute(fn, options) {
116
- this.options = options;
117
- await this.ensureStarted();
118
- const executor = this.resolveExecutor(options.propagation);
119
- return executor === this
120
- ? this.runWithLifecycle(fn)
121
- : executor.execute(fn, options);
122
- }
123
- getClient() {
124
- return this.client;
125
- }
126
- async ensureStarted() {
127
- if (this.initialized) {
128
- return;
129
- }
130
- this.initialized = true;
131
- await this.initializeClient();
132
- await this.beginTransaction();
133
- }
134
- async initializeClient() {
135
- const client = await this.clientFactory();
136
- if (!("query" in client)) {
137
- throw new Error("Client factory must return a pg.ClientBase");
138
- }
139
- await (0, helpers_1.ensureConnection)(client);
140
- this.client = client;
141
- }
142
- async beginTransaction() {
143
- await this.client.query("BEGIN");
144
- const isolationLevel = this.options.isolationLevel ?? types_1.IsolationLevel.READ_COMMITTED;
145
- if (isolationLevel !== types_1.IsolationLevel.READ_COMMITTED) {
146
- await this.client.query(`SET TRANSACTION ISOLATION LEVEL ${isolationLevel}`);
147
- }
148
- }
149
- async runWithLifecycle(fn) {
150
- try {
151
- return await this.executeWithNesting(fn);
152
- }
153
- catch (e) {
154
- console.error(`Transaction aborting, error in transaction:`);
155
- console.error(e);
156
- this.markAsAborted(e);
157
- throw e;
158
- }
159
- finally {
160
- await this.finalizeIfRoot();
161
- }
162
- }
163
- async executeWithNesting(fn) {
164
- this.nestingDepth++;
165
- try {
166
- return await fn(this.client);
167
- }
168
- finally {
169
- this.nestingDepth--;
170
- }
171
- }
172
- markAsAborted(error) {
173
- this.abortError = error;
174
- }
175
- async finalizeIfRoot() {
176
- if (this.nestingDepth === 0) {
177
- await (this.isAborted() ? this.rollback() : this.commit());
178
- }
179
- }
180
- resolveExecutor(propagation) {
181
- if (this.nestingDepth === 0) {
182
- return this;
183
- }
184
- return propagation === core_1.Propagation.NESTED
185
- ? this.createSavepoint()
186
- : (this.findActiveSavepoint() ?? this);
187
- }
188
- createSavepoint() {
189
- const savepoint = new Savepoint(`sp_${this.savepoints.length + 1}`, this.client, () => this.removeSavepoint());
190
- this.savepoints.push(savepoint);
191
- return savepoint;
192
- }
193
- findActiveSavepoint() {
194
- for (let i = this.savepoints.length - 1; i >= 0; i--) {
195
- if (!this.savepoints[i].isClosed()) {
196
- return this.savepoints[i];
197
- }
198
- }
199
- }
200
- removeSavepoint() {
201
- this.savepoints.pop();
202
- }
203
- async commit() {
204
- if (this.closed) {
205
- return;
206
- }
207
- this.closed = true;
208
- await this.client.query("COMMIT");
209
- await this.clientCleanUp?.(this.client);
210
- }
211
- async rollback() {
212
- if (this.closed) {
213
- return;
214
- }
215
- this.closed = true;
216
- try {
217
- await this.client.query("ROLLBACK");
218
- }
219
- catch (e) {
220
- if (e instanceof Error &&
221
- e.message.includes("Client was closed and is not queryable")) {
222
- return;
223
- }
224
- throw e;
225
- }
226
- await this.clientCleanUp?.(this.client);
227
- }
228
- isAborted() {
229
- return this.abortError !== undefined && !this.closed;
230
- }
231
- }
232
- class Savepoint {
233
- name;
234
- client;
235
- onClose;
236
- initialized = false;
237
- closed = false;
238
- abortError;
239
- nestingDepth = 0;
240
- constructor(name, client, onClose) {
241
- this.name = name;
242
- this.client = client;
243
- this.onClose = onClose;
244
- }
245
- async execute(fn) {
246
- await this.ensureStarted();
247
- return this.runWithLifecycle(fn);
248
- }
249
- isClosed() {
250
- return this.closed;
251
- }
252
- async ensureStarted() {
253
- if (this.initialized) {
254
- return;
255
- }
256
- this.initialized = true;
257
- await this.client.query(`SAVEPOINT ${this.name}`);
258
- }
259
- async runWithLifecycle(fn) {
260
- this.nestingDepth++;
261
- try {
262
- return await fn(this.client);
263
- }
264
- catch (e) {
265
- this.markAsAborted(e);
266
- throw e;
267
- }
268
- finally {
269
- this.nestingDepth--;
270
- await this.finalizeIfRoot();
271
- }
272
- }
273
- markAsAborted(error) {
274
- this.abortError = error;
275
- }
276
- async finalizeIfRoot() {
277
- if (this.nestingDepth === 0) {
278
- await (this.isAborted() ? this.rollback() : this.commit());
279
- }
280
- }
281
- async commit() {
282
- if (this.closed) {
283
- return;
284
- }
285
- this.closed = true;
286
- await this.client.query(`RELEASE SAVEPOINT ${this.name}`);
287
- this.onClose();
288
- }
289
- async rollback() {
290
- if (this.closed) {
291
- return;
292
- }
293
- this.closed = true;
294
- await this.client.query(`ROLLBACK TO SAVEPOINT ${this.name}`);
295
- this.onClose();
296
- }
297
- isAborted() {
298
- return this.abortError !== undefined && !this.closed;
299
- }
300
- }
301
- function createPostgresUnitOfWork(source) {
302
- if (source instanceof pg.Pool) {
303
- return new DefaultPostgresUnitOfWork(async () => source.connect(), (client) => client.release());
304
- }
305
- const connectionString = source instanceof config_1.PostgresConfig ? source.toString() : source;
306
- return new DefaultPostgresUnitOfWork(() => new pg.Client({ connectionString }), (client) => client.end());
307
- }
308
- //# sourceMappingURL=postgres-unit-of-work.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postgres-unit-of-work.js","sourceRoot":"","sources":["../src/postgres-unit-of-work.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { PostgresConfig } from "./config";
2
- export declare function runHexaiMigrations(dbUrl: string | PostgresConfig): Promise<void>;
3
- //# sourceMappingURL=run-hexai-migrations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-hexai-migrations.d.ts","sourceRoot":"","sources":["../src/run-hexai-migrations.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,iBAMtE"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.runHexaiMigrations = runHexaiMigrations;
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const run_migrations_1 = require("./run-migrations");
9
- const MIGRATIONS_DIR = node_path_1.default.join(__dirname + "/../migrations");
10
- async function runHexaiMigrations(dbUrl) {
11
- await (0, run_migrations_1.runMigrations)({
12
- dir: MIGRATIONS_DIR,
13
- url: dbUrl,
14
- namespace: "hexai",
15
- });
16
- }
17
- //# sourceMappingURL=run-hexai-migrations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-hexai-migrations.js","sourceRoot":"","sources":["../src/run-hexai-migrations.ts"],"names":[],"mappings":";;;;;AAOA,gDAMC;AAbD,0DAA6B;AAE7B,qDAAiD;AAGjD,MAAM,cAAc,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,CAAC;AAExD,KAAK,UAAU,kBAAkB,CAAC,KAA8B;IACnE,MAAM,IAAA,8BAAa,EAAC;QAChB,GAAG,EAAE,cAAc;QACnB,GAAG,EAAE,KAAK;QACV,SAAS,EAAE,OAAO;KACrB,CAAC,CAAC;AACP,CAAC"}
@@ -1,11 +0,0 @@
1
- import { PostgresConfig } from "./config";
2
- export interface MigrationOptions {
3
- url: PostgresConfig | string;
4
- dir: string;
5
- namespace?: string;
6
- direction?: "up" | "down";
7
- count?: number;
8
- dryRun?: boolean;
9
- }
10
- export declare function runMigrations({ namespace, url, dir, direction, count, dryRun, }: MigrationOptions): Promise<void>;
11
- //# sourceMappingURL=run-migrations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-migrations.d.ts","sourceRoot":"","sources":["../src/run-migrations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAW1C,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,cAAc,GAAG,MAAM,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAwID,wBAAsB,aAAa,CAAC,EAChC,SAAS,EACT,GAAG,EACH,GAAG,EACH,SAAgB,EAChB,KAAK,EACL,MAAc,GACjB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4ClC"}
@@ -1,202 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.runMigrations = runMigrations;
40
- const fs = __importStar(require("node:fs/promises"));
41
- const path = __importStar(require("node:path"));
42
- const pg = __importStar(require("pg"));
43
- const node_pg_migrate_1 = __importDefault(require("node-pg-migrate"));
44
- /**
45
- * Extracts numeric prefix from migration filename for proper sorting.
46
- * Handles both simple numeric prefixes (1_initial) and timestamps (1734567890123_initial).
47
- */
48
- function extractNumericPrefix(filename) {
49
- const match = filename.match(/^(\d+)/);
50
- return match ? parseInt(match[1], 10) : 0;
51
- }
52
- /**
53
- * Ensures backward compatibility with existing tables that have 'applied_at' column
54
- * by renaming it to 'run_on' (node-pg-migrate's expected column name)
55
- */
56
- async function ensureTableCompatibility(client, tableName) {
57
- // Check if table exists
58
- const tableExists = await client.query(`
59
- SELECT 1 FROM information_schema.tables
60
- WHERE table_name = $1
61
- `, [tableName]);
62
- if (tableExists.rows.length === 0)
63
- return;
64
- // Check if applied_at column exists (old schema)
65
- const hasAppliedAt = await client.query(`
66
- SELECT 1 FROM information_schema.columns
67
- WHERE table_name = $1 AND column_name = 'applied_at'
68
- `, [tableName]);
69
- if (hasAppliedAt.rows.length > 0) {
70
- await client.query(`
71
- ALTER TABLE "${tableName}"
72
- RENAME COLUMN applied_at TO run_on
73
- `);
74
- console.log(`Migrated table ${tableName}: applied_at → run_on`);
75
- }
76
- }
77
- /**
78
- * Detects whether the migrations directory contains SQL-based migrations
79
- * (directories with migration.sql files) or JavaScript-based migrations.
80
- */
81
- async function isSqlMigrationFormat(dir) {
82
- try {
83
- const entries = await fs.readdir(dir, { withFileTypes: true });
84
- for (const entry of entries) {
85
- if (entry.isDirectory()) {
86
- const sqlPath = path.join(dir, entry.name, "migration.sql");
87
- try {
88
- await fs.access(sqlPath);
89
- return true;
90
- }
91
- catch {
92
- // Not a SQL migration directory
93
- }
94
- }
95
- }
96
- return false;
97
- }
98
- catch {
99
- return false;
100
- }
101
- }
102
- /**
103
- * Runs SQL-based migrations (directories with migration.sql files)
104
- */
105
- async function runSqlMigrations(client, dir, migrationsTable, dryRun) {
106
- // Ensure migrations table exists
107
- await client.query(`
108
- CREATE TABLE IF NOT EXISTS "${migrationsTable}" (
109
- id SERIAL PRIMARY KEY,
110
- name VARCHAR(255) NOT NULL,
111
- run_on TIMESTAMP NOT NULL DEFAULT NOW()
112
- )
113
- `);
114
- // Get applied migrations
115
- const appliedResult = await client.query(`SELECT name FROM "${migrationsTable}" ORDER BY run_on ASC`);
116
- const appliedMigrations = new Set(appliedResult.rows.map((r) => r.name));
117
- // Get migration directories
118
- const entries = await fs.readdir(dir, { withFileTypes: true });
119
- const migrationDirs = entries
120
- .filter((e) => e.isDirectory())
121
- .map((e) => e.name)
122
- .sort((a, b) => extractNumericPrefix(a) - extractNumericPrefix(b));
123
- // Find migrations to apply
124
- const migrationsToApply = [];
125
- for (const migrationDir of migrationDirs) {
126
- if (appliedMigrations.has(migrationDir)) {
127
- continue;
128
- }
129
- const sqlPath = path.join(dir, migrationDir, "migration.sql");
130
- try {
131
- const sql = await fs.readFile(sqlPath, "utf-8");
132
- migrationsToApply.push({ name: migrationDir, sql });
133
- }
134
- catch {
135
- // Skip directories without migration.sql
136
- }
137
- }
138
- if (migrationsToApply.length === 0) {
139
- console.log("No migrations to run!");
140
- return;
141
- }
142
- console.log(`> Migrating files:`);
143
- for (const migration of migrationsToApply) {
144
- console.log(`> - ${migration.name}`);
145
- }
146
- if (dryRun) {
147
- console.log("Dry run - no migrations applied");
148
- return;
149
- }
150
- // Apply migrations
151
- for (const migration of migrationsToApply) {
152
- console.log(`### MIGRATION ${migration.name} (UP) ###`);
153
- await client.query(migration.sql);
154
- await client.query(`INSERT INTO "${migrationsTable}" (name) VALUES ($1)`, [migration.name]);
155
- }
156
- }
157
- async function runMigrations({ namespace, url, dir, direction = "up", count, dryRun = false, }) {
158
- const migrationsTable = namespace
159
- ? `hexai__migrations_${namespace}`
160
- : "hexai__migrations";
161
- const client = new pg.Client(url);
162
- try {
163
- await client.connect();
164
- await ensureTableCompatibility(client, migrationsTable);
165
- // Check if this is SQL-based migrations or JavaScript-based
166
- const isSqlFormat = await isSqlMigrationFormat(dir);
167
- if (isSqlFormat) {
168
- // Run SQL-based migrations
169
- await runSqlMigrations(client, dir, migrationsTable, dryRun);
170
- }
171
- else {
172
- // Run JavaScript-based migrations using node-pg-migrate
173
- await client.end();
174
- await (0, node_pg_migrate_1.default)({
175
- databaseUrl: url.toString(),
176
- dir,
177
- direction,
178
- count,
179
- migrationsTable,
180
- dryRun,
181
- singleTransaction: true,
182
- log: (msg) => {
183
- // Filter out timestamp warnings for backward compatibility
184
- // with migration files using simple numeric prefixes (e.g., 1_initial.js)
185
- if (!msg.startsWith("Can't determine timestamp for")) {
186
- console.log(msg);
187
- }
188
- },
189
- });
190
- return;
191
- }
192
- }
193
- finally {
194
- try {
195
- await client.end();
196
- }
197
- catch {
198
- // Client already closed
199
- }
200
- }
201
- }
202
- //# sourceMappingURL=run-migrations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-migrations.js","sourceRoot":"","sources":["../src/run-migrations.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export declare const getTestConfig: () => import("ezcfg").InferConfigType<{
2
- db: import("../config").PostgresConfigSpec;
3
- migrationsDir: string;
4
- }>;
5
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/test-fixtures/config.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa;;;EAGxB,CAAC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getTestConfig = void 0;
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const config_1 = require("../config");
9
- const ezcfg_1 = require("ezcfg");
10
- exports.getTestConfig = (0, ezcfg_1.defineConfig)({
11
- db: (0, config_1.postgresConfig)("HEXAI_DB"),
12
- migrationsDir: node_path_1.default.join(__dirname + "/../migrations"),
13
- });
14
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/test-fixtures/config.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAE7B,qCAA0C;AAC1C,iCAAqC;AAExB,QAAA,aAAa,GAAG,IAAA,oBAAY,EAAC;IACtC,EAAE,EAAE,IAAA,uBAAc,EAAC,UAAU,CAAC;IAC9B,aAAa,EAAE,mBAAI,CAAC,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;CACzD,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import { DatabaseManager, TableManager } from "../helpers";
2
- import { Client } from "pg";
3
- export declare function getDatabaseManager(): DatabaseManager;
4
- export declare function useDatabase(databaseName: string, when?: "beforeEach" | "beforeAll"): import("..").PostgresConfig;
5
- export declare function useTableManager(database?: string): TableManager;
6
- export declare function useClient(database?: string, when?: "beforeEach" | "beforeAll"): Client;
7
- export declare function newClient(database?: string): Client;
8
- //# sourceMappingURL=hooks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/test-fixtures/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAE5B,wBAAgB,kBAAkB,oBAEjC;AAMD,wBAAgB,WAAW,CACvB,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,YAAY,GAAG,WAAyB,+BA4BjD;AAED,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,gBAWhD;AAED,wBAAgB,SAAS,CACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,GAAE,YAAY,GAAG,WAAyB,UAuBjD;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,UAO1C"}