@take-out/postgres 0.2.2 → 0.2.4
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/package.json +2 -2
- package/dist/cjs/build.native.js +0 -29
- package/dist/cjs/build.native.js.map +0 -1
- package/dist/cjs/cli.native.js +0 -164
- package/dist/cjs/cli.native.js.map +0 -1
- package/dist/cjs/createServerHelpers.native.js +0 -43
- package/dist/cjs/createServerHelpers.native.js.map +0 -1
- package/dist/cjs/helpers/chunkedQuery.cjs +0 -60
- package/dist/cjs/helpers/chunkedQuery.js +0 -51
- package/dist/cjs/helpers/chunkedQuery.js.map +0 -6
- package/dist/cjs/helpers/chunkedQuery.native.js +0 -73
- package/dist/cjs/helpers/chunkedQuery.native.js.map +0 -1
- package/dist/cjs/helpers/getDBClient.cjs +0 -172
- package/dist/cjs/helpers/getDBClient.js +0 -179
- package/dist/cjs/helpers/getDBClient.js.map +0 -6
- package/dist/cjs/helpers/getDBClient.native.js +0 -189
- package/dist/cjs/helpers/getDBClient.native.js.map +0 -1
- package/dist/cjs/index.native.js +0 -64
- package/dist/cjs/index.native.js.map +0 -1
- package/dist/cjs/migrate.native.js +0 -185
- package/dist/cjs/migrate.native.js.map +0 -1
- package/dist/cjs/scripts/build-migrations.native.js +0 -86
- package/dist/cjs/scripts/build-migrations.native.js.map +0 -1
- package/dist/cjs/scripts/drizzle-migrations-sync.native.js +0 -209
- package/dist/cjs/scripts/drizzle-migrations-sync.native.js.map +0 -1
- package/dist/cjs/scripts/migration-add.native.js +0 -72
- package/dist/cjs/scripts/migration-add.native.js.map +0 -1
- package/dist/cjs/scripts/pg_dump.native.js +0 -55
- package/dist/cjs/scripts/pg_dump.native.js.map +0 -1
- package/dist/cjs/scripts/psql.native.js +0 -56
- package/dist/cjs/scripts/psql.native.js.map +0 -1
- package/dist/cjs/sql.native.js +0 -49
- package/dist/cjs/sql.native.js.map +0 -1
- package/dist/esm/build.native.js +0 -3
- package/dist/esm/build.native.js.map +0 -1
- package/dist/esm/cli.native.js +0 -162
- package/dist/esm/cli.native.js.map +0 -1
- package/dist/esm/createServerHelpers.native.js +0 -17
- package/dist/esm/createServerHelpers.native.js.map +0 -1
- package/dist/esm/helpers/chunkedQuery.js +0 -35
- package/dist/esm/helpers/chunkedQuery.js.map +0 -6
- package/dist/esm/helpers/chunkedQuery.mjs +0 -36
- package/dist/esm/helpers/chunkedQuery.mjs.map +0 -1
- package/dist/esm/helpers/chunkedQuery.native.js +0 -46
- package/dist/esm/helpers/chunkedQuery.native.js.map +0 -1
- package/dist/esm/helpers/getDBClient.js +0 -155
- package/dist/esm/helpers/getDBClient.js.map +0 -6
- package/dist/esm/helpers/getDBClient.mjs +0 -136
- package/dist/esm/helpers/getDBClient.mjs.map +0 -1
- package/dist/esm/helpers/getDBClient.native.js +0 -150
- package/dist/esm/helpers/getDBClient.native.js.map +0 -1
- package/dist/esm/index.native.js +0 -20
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/migrate.native.js +0 -159
- package/dist/esm/migrate.native.js.map +0 -1
- package/dist/esm/scripts/build-migrations.native.js +0 -49
- package/dist/esm/scripts/build-migrations.native.js.map +0 -1
- package/dist/esm/scripts/drizzle-migrations-sync.native.js +0 -183
- package/dist/esm/scripts/drizzle-migrations-sync.native.js.map +0 -1
- package/dist/esm/scripts/migration-add.native.js +0 -46
- package/dist/esm/scripts/migration-add.native.js.map +0 -1
- package/dist/esm/scripts/pg_dump.native.js +0 -29
- package/dist/esm/scripts/pg_dump.native.js.map +0 -1
- package/dist/esm/scripts/psql.native.js +0 -30
- package/dist/esm/scripts/psql.native.js.map +0 -1
- package/dist/esm/sql.native.js +0 -21
- package/dist/esm/sql.native.js.map +0 -1
- package/types/helpers/chunkedQuery.d.ts +0 -17
- package/types/helpers/chunkedQuery.d.ts.map +0 -1
- package/types/helpers/getDBClient.d.ts +0 -11
- package/types/helpers/getDBClient.d.ts.map +0 -1
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import pg from "pg";
|
|
2
|
-
function _instanceof(left, right) {
|
|
3
|
-
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
|
|
4
|
-
}
|
|
5
|
-
var cache = /* @__PURE__ */new Map(),
|
|
6
|
-
createPoolKey = function (connectionString) {
|
|
7
|
-
return connectionString;
|
|
8
|
-
},
|
|
9
|
-
getOrCreatePoolCache = function (connectionString, config) {
|
|
10
|
-
var key = createPoolKey(connectionString);
|
|
11
|
-
return cache.has(key) || cache.set(key, {
|
|
12
|
-
pool: new pg.Pool(config),
|
|
13
|
-
maxConnections: null,
|
|
14
|
-
reservedConnections: null,
|
|
15
|
-
openedConnections: null,
|
|
16
|
-
openedConnectionsLastUpdate: null
|
|
17
|
-
}), cache.get(key);
|
|
18
|
-
};
|
|
19
|
-
async function getDBClient() {
|
|
20
|
-
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},
|
|
21
|
-
{
|
|
22
|
-
pool,
|
|
23
|
-
connectionString,
|
|
24
|
-
retries = 8
|
|
25
|
-
} = options;
|
|
26
|
-
if (!pool && !connectionString) throw new Error("Either pool or connectionString must be provided");
|
|
27
|
-
var client = null;
|
|
28
|
-
try {
|
|
29
|
-
return client = await tryToGetNewClientFromPool(pool, connectionString, retries), client;
|
|
30
|
-
} catch (error) {
|
|
31
|
-
throw console.error("Failed to get DB client:", error), error;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
async function tryToGetNewClientFromPool(providedPool, connectionString, retries) {
|
|
35
|
-
var {
|
|
36
|
-
default: retry
|
|
37
|
-
} = await import("async-retry"),
|
|
38
|
-
clientFromPool = await retry(async function () {
|
|
39
|
-
if (providedPool) {
|
|
40
|
-
console.info("Connecting to provided pool...");
|
|
41
|
-
var client = await providedPool.connect();
|
|
42
|
-
return console.info("Connected to pool"), client;
|
|
43
|
-
}
|
|
44
|
-
if (!connectionString) throw new Error("No connection string provided");
|
|
45
|
-
var configurations = {
|
|
46
|
-
connectionString,
|
|
47
|
-
connectionTimeoutMillis: 5e3,
|
|
48
|
-
// idle_session_timeout set to 35s on server, client timeout at 30s
|
|
49
|
-
// fix via https://github.com/brianc/node-postgres/issues/2718#issuecomment-2094885323
|
|
50
|
-
idleTimeoutMillis: 3e4,
|
|
51
|
-
allowExitOnIdle: !0
|
|
52
|
-
},
|
|
53
|
-
poolCache = getOrCreatePoolCache(connectionString, configurations);
|
|
54
|
-
console.info(`Connecting to pool ${connectionString}...`);
|
|
55
|
-
var client1 = await poolCache.pool.connect();
|
|
56
|
-
return console.info("Connected to pool"), client1;
|
|
57
|
-
}, {
|
|
58
|
-
retries,
|
|
59
|
-
minTimeout: 300,
|
|
60
|
-
factor: 2,
|
|
61
|
-
maxTimeout: 8e3
|
|
62
|
-
});
|
|
63
|
-
return clientFromPool;
|
|
64
|
-
}
|
|
65
|
-
async function queryDb(queryText, params) {
|
|
66
|
-
var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {},
|
|
67
|
-
client = null;
|
|
68
|
-
try {
|
|
69
|
-
return client = await tryToGetNewClientFromPool(options.pool, options.connectionString, options.retries || 8), await client.query(queryText, params);
|
|
70
|
-
} catch (error) {
|
|
71
|
-
throw console.error("Database query failed:", {
|
|
72
|
-
query: queryText,
|
|
73
|
-
error: _instanceof(error, Error) ? error.message : String(error)
|
|
74
|
-
}), error;
|
|
75
|
-
} finally {
|
|
76
|
-
if (client && options.connectionString) {
|
|
77
|
-
var tooManyConnections = await checkForTooManyConnections(client, options.connectionString);
|
|
78
|
-
if (tooManyConnections) {
|
|
79
|
-
var poolCache = cache.get(createPoolKey(options.connectionString));
|
|
80
|
-
client.release(), await poolCache?.pool.end(), poolCache && cache.delete(createPoolKey(options.connectionString));
|
|
81
|
-
} else client.release();
|
|
82
|
-
} else client && client.release();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
async function checkForTooManyConnections(client, connectionString) {
|
|
86
|
-
var poolCache = cache.get(createPoolKey(connectionString));
|
|
87
|
-
if (!poolCache) return !1;
|
|
88
|
-
var currentTime = Date.now(),
|
|
89
|
-
openedConnectionsMaxAge = 1e4,
|
|
90
|
-
maxConnectionsTolerance = 0.9;
|
|
91
|
-
if (poolCache.maxConnections === null || poolCache.reservedConnections === null) {
|
|
92
|
-
var [maxConnections, reservedConnections] = await getConnectionLimits(client);
|
|
93
|
-
console.info(`Max connections: ${maxConnections}, Reserved connections: ${reservedConnections}`), poolCache.maxConnections = maxConnections, poolCache.reservedConnections = reservedConnections;
|
|
94
|
-
}
|
|
95
|
-
if (poolCache.openedConnections === null || poolCache.openedConnectionsLastUpdate === null || currentTime - poolCache.openedConnectionsLastUpdate > openedConnectionsMaxAge) {
|
|
96
|
-
var openedConnections = await getOpenedConnections(client, connectionString);
|
|
97
|
-
poolCache.openedConnections = openedConnections, poolCache.openedConnectionsLastUpdate = currentTime;
|
|
98
|
-
}
|
|
99
|
-
return poolCache.openedConnections > (poolCache.maxConnections - poolCache.reservedConnections) * maxConnectionsTolerance ? (console.warn(`Too many connections detected: ${poolCache.openedConnections}/${poolCache.maxConnections - poolCache.reservedConnections}`), !0) : !1;
|
|
100
|
-
}
|
|
101
|
-
async function getConnectionLimits(client) {
|
|
102
|
-
console.info("Getting connection limits...");
|
|
103
|
-
var maxConnectionsResult = await client.query("SHOW max_connections"),
|
|
104
|
-
reservedConnectionResult = await client.query("SHOW superuser_reserved_connections");
|
|
105
|
-
return [Number.parseInt(maxConnectionsResult.rows[0].max_connections, 10), Number.parseInt(reservedConnectionResult.rows[0].superuser_reserved_connections, 10)];
|
|
106
|
-
}
|
|
107
|
-
async function getOpenedConnections(client, connectionString) {
|
|
108
|
-
var _openConnectionsResult_rows_,
|
|
109
|
-
dbName = new URL(connectionString).pathname.slice(1);
|
|
110
|
-
console.info("Getting opened connections...");
|
|
111
|
-
var openConnectionsResult = await client.query("SELECT numbackends as opened_connections FROM pg_stat_database WHERE datname = $1", [dbName]),
|
|
112
|
-
result = Number.parseInt(((_openConnectionsResult_rows_ = openConnectionsResult.rows[0]) === null || _openConnectionsResult_rows_ === void 0 ? void 0 : _openConnectionsResult_rows_.opened_connections) || 0, 10);
|
|
113
|
-
return console.info(`Opened connections: ${result}`), result;
|
|
114
|
-
}
|
|
115
|
-
async function getNewClient() {
|
|
116
|
-
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},
|
|
117
|
-
{
|
|
118
|
-
connectionString
|
|
119
|
-
} = options;
|
|
120
|
-
if (!connectionString) throw new Error("connectionString is required for getNewClient");
|
|
121
|
-
try {
|
|
122
|
-
var client = await tryToGetNewClient(connectionString);
|
|
123
|
-
return client;
|
|
124
|
-
} catch (error) {
|
|
125
|
-
throw console.error("Failed to get new client:", error), error;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
async function tryToGetNewClient(connectionString) {
|
|
129
|
-
var configurations = {
|
|
130
|
-
connectionString,
|
|
131
|
-
connectionTimeoutMillis: 5e3,
|
|
132
|
-
idleTimeoutMillis: 3e4,
|
|
133
|
-
allowExitOnIdle: !0
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
default: retry
|
|
137
|
-
} = await import("async-retry"),
|
|
138
|
-
client = await retry(async function () {
|
|
139
|
-
var newClient = new pg.Client(configurations);
|
|
140
|
-
return await newClient.connect(), newClient;
|
|
141
|
-
}, {
|
|
142
|
-
retries: 10,
|
|
143
|
-
minTimeout: 100,
|
|
144
|
-
factor: 2,
|
|
145
|
-
maxTimeout: 5e3
|
|
146
|
-
});
|
|
147
|
-
return client;
|
|
148
|
-
}
|
|
149
|
-
export { getDBClient, getNewClient, queryDb };
|
|
150
|
-
//# sourceMappingURL=getDBClient.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["pg","_instanceof","left","right","Symbol","hasInstance","cache","Map","createPoolKey","connectionString","getOrCreatePoolCache","config","key","has","set","pool","Pool","maxConnections","reservedConnections","openedConnections","openedConnectionsLastUpdate","get","getDBClient","options","arguments","length","retries","Error","client","tryToGetNewClientFromPool","error","console","providedPool","default","retry","clientFromPool","info","connect","configurations","connectionTimeoutMillis","idleTimeoutMillis","allowExitOnIdle","poolCache","client1","minTimeout","factor","maxTimeout","queryDb","queryText","params","query","message","String","tooManyConnections","checkForTooManyConnections","release","end","delete","currentTime","Date","now","openedConnectionsMaxAge","maxConnectionsTolerance","getConnectionLimits","getOpenedConnections","warn","maxConnectionsResult","reservedConnectionResult","Number","parseInt","rows","max_connections","superuser_reserved_connections","_openConnectionsResult_rows_","dbName","URL","pathname","slice","openConnectionsResult","result","opened_connections","getNewClient","tryToGetNewClient","newClient","Client"],"sources":["../../../src/helpers/getDBClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.native.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { drizzle } from "drizzle-orm/node-postgres";
|
|
2
|
-
import pg from "pg";
|
|
3
|
-
import { createSql } from "./sql.native.js";
|
|
4
|
-
import { createServerHelpers } from "./createServerHelpers.native.js";
|
|
5
|
-
import { getDBClient, queryDb } from "./helpers/getDBClient.native.js";
|
|
6
|
-
import { processInChunks, updateInChunks } from "./helpers/chunkedQuery.native.js";
|
|
7
|
-
var createPool = function (connectionString) {
|
|
8
|
-
return new pg.Pool({
|
|
9
|
-
connectionString
|
|
10
|
-
});
|
|
11
|
-
},
|
|
12
|
-
createDb = function (connectionString, schema) {
|
|
13
|
-
var pool = createPool(connectionString);
|
|
14
|
-
return drizzle(pool, {
|
|
15
|
-
schema,
|
|
16
|
-
logger: !1
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
export { createDb, createPool, createServerHelpers, createSql, getDBClient, processInChunks, queryDb, updateInChunks };
|
|
20
|
-
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["drizzle","pg","createSql","createServerHelpers","getDBClient","queryDb","processInChunks","updateInChunks","createPool","connectionString","Pool","createDb","schema","pool","logger"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AACxB,OAAOC,EAAA,MAAQ;AAyBf,SAASC,SAAA,QAAgC;AAEzC,SAASC,mBAAA,QAA+C;AAExD,SAASC,WAAA,EAAaC,OAAA,QAAwC;AAE9D,SAASC,eAAA,EAAiBC,cAAA,QAAsB;AA1BzC,IAAAC,UAAM,YAAAA,CAAcC,gBAClB;IACL,WAAAR,EAAA,CAAAS,IAAA;MAISD;IAIX;EACA;EAAAE,QAAO,YAAAA,CAAcF,gBAAA,EAAAG,MAAA;IAAA,IACnBC,IAAA,GAAAL,UAAA,CAAAC,gBAAA;IAAA,OACAT,OAAQ,CAAAa,IAAA;MACTD,MAAA;MACHE,MAAA","ignoreList":[]}
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { basename } from "path";
|
|
2
|
-
import { getDBClient } from "./helpers/getDBClient.native.js";
|
|
3
|
-
var isServerless = !!(process.env.AWS_LAMBDA_FUNCTION_NAME || process.env.AWS_LAMBDA_RUNTIME_API || process.env.LAMBDA_RUNTIME_DIR || process.env.IS_SERVERLESS);
|
|
4
|
-
async function migrate(options) {
|
|
5
|
-
var {
|
|
6
|
-
connectionString,
|
|
7
|
-
migrationsGlob,
|
|
8
|
-
createDatabases = [],
|
|
9
|
-
onMigrationComplete,
|
|
10
|
-
gitSha,
|
|
11
|
-
cvrDb,
|
|
12
|
-
changeDb
|
|
13
|
-
} = options;
|
|
14
|
-
console.info(`Running migrations${gitSha ? ` for git version: ${gitSha}` : ""}`);
|
|
15
|
-
var client = await getDBClient({
|
|
16
|
-
connectionString
|
|
17
|
-
}),
|
|
18
|
-
hasDB = async function (name2) {
|
|
19
|
-
var result = !!(await client.query(`
|
|
20
|
-
SELECT 1 FROM pg_database WHERE datname = '${name2}'
|
|
21
|
-
`)).rows.length;
|
|
22
|
-
return console.info(result ? `${name2} db exists` : `creating ${name2} db`), result;
|
|
23
|
-
};
|
|
24
|
-
if (cvrDb || changeDb) {
|
|
25
|
-
if (!cvrDb) throw new Error("Missing cvrDb");
|
|
26
|
-
var zeroDBNames = [basename(cvrDb || ""), basename(changeDb || "")].filter(Boolean),
|
|
27
|
-
_iteratorNormalCompletion = !0,
|
|
28
|
-
_didIteratorError = !1,
|
|
29
|
-
_iteratorError = void 0;
|
|
30
|
-
try {
|
|
31
|
-
for (var _iterator = zeroDBNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
32
|
-
var name = _step.value;
|
|
33
|
-
(await hasDB(name)) || (await client.query(`CREATE DATABASE ${name};`));
|
|
34
|
-
}
|
|
35
|
-
} catch (err) {
|
|
36
|
-
_didIteratorError = !0, _iteratorError = err;
|
|
37
|
-
} finally {
|
|
38
|
-
try {
|
|
39
|
-
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
40
|
-
} finally {
|
|
41
|
-
if (_didIteratorError) throw _iteratorError;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
var _iteratorNormalCompletion1 = !0,
|
|
46
|
-
_didIteratorError1 = !1,
|
|
47
|
-
_iteratorError1 = void 0;
|
|
48
|
-
try {
|
|
49
|
-
for (var _iterator1 = createDatabases[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
50
|
-
var dbUrl = _step1.value,
|
|
51
|
-
name1 = basename(dbUrl);
|
|
52
|
-
(await hasDB(name1)) || (await client.query(`CREATE DATABASE ${name1};`));
|
|
53
|
-
}
|
|
54
|
-
} catch (err) {
|
|
55
|
-
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
56
|
-
} finally {
|
|
57
|
-
try {
|
|
58
|
-
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
59
|
-
} finally {
|
|
60
|
-
if (_didIteratorError1) throw _iteratorError1;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
try {
|
|
64
|
-
await client.query("BEGIN"), await client.query(`
|
|
65
|
-
CREATE TABLE IF NOT EXISTS migrations (
|
|
66
|
-
id SERIAL PRIMARY KEY,
|
|
67
|
-
name VARCHAR(255) NOT NULL,
|
|
68
|
-
run_on TIMESTAMP NOT NULL DEFAULT NOW()
|
|
69
|
-
)
|
|
70
|
-
`);
|
|
71
|
-
var appliedMigrations = await client.query("SELECT name FROM migrations"),
|
|
72
|
-
appliedMigrationNames = new Set(appliedMigrations.rows.map(function (row) {
|
|
73
|
-
return row.name;
|
|
74
|
-
})),
|
|
75
|
-
tsMigrationsSorted = Object.entries(migrationsGlob).sort(function (param, param1) {
|
|
76
|
-
var [a] = param,
|
|
77
|
-
[b] = param1;
|
|
78
|
-
return a.localeCompare(b);
|
|
79
|
-
}).map(function (param) {
|
|
80
|
-
var [file, run] = param;
|
|
81
|
-
return {
|
|
82
|
-
name: basename(file).replace(".ts", ""),
|
|
83
|
-
run
|
|
84
|
-
};
|
|
85
|
-
}).filter(function (param) {
|
|
86
|
-
var {
|
|
87
|
-
name: name2
|
|
88
|
-
} = param;
|
|
89
|
-
return /^[\d]+/.test(name2);
|
|
90
|
-
});
|
|
91
|
-
console.info(`Found ${tsMigrationsSorted.length} TypeScript migrations`);
|
|
92
|
-
var tsMigrations = await Promise.all(tsMigrationsSorted.map(async function (param) {
|
|
93
|
-
var {
|
|
94
|
-
name: name2,
|
|
95
|
-
run
|
|
96
|
-
} = param;
|
|
97
|
-
if (appliedMigrationNames.has(name2)) return console.info(`TypeScript migration applied already: ${name2}`), null;
|
|
98
|
-
try {
|
|
99
|
-
var migration2 = await run();
|
|
100
|
-
return {
|
|
101
|
-
...migration2,
|
|
102
|
-
name: name2
|
|
103
|
-
};
|
|
104
|
-
} catch (error) {
|
|
105
|
-
throw console.error(`Failed to load TypeScript migration ${name2}:`, error), error;
|
|
106
|
-
}
|
|
107
|
-
})).then(function (migrations2) {
|
|
108
|
-
return migrations2.filter(Boolean);
|
|
109
|
-
}),
|
|
110
|
-
migrations = [...tsMigrations].sort(function (a, b) {
|
|
111
|
-
return a.name.localeCompare(b.name);
|
|
112
|
-
});
|
|
113
|
-
if (!migrations.length) console.info("No migrations to apply!"), await client.query("COMMIT");else {
|
|
114
|
-
var _iteratorNormalCompletion2 = !0,
|
|
115
|
-
_didIteratorError2 = !1,
|
|
116
|
-
_iteratorError2 = void 0;
|
|
117
|
-
try {
|
|
118
|
-
for (var _iterator2 = migrations[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
|
|
119
|
-
var migration = _step2.value;
|
|
120
|
-
console.info(`Migrating: ${migration.name}`), migration.up && (console.info(`Applying migration: ${migration.name}`), await migration.up(client)), await client.query("INSERT INTO migrations (name) VALUES ($1)", [migration.name]), console.info(`Successfully applied migration: ${migration.name}`);
|
|
121
|
-
}
|
|
122
|
-
} catch (err) {
|
|
123
|
-
_didIteratorError2 = !0, _iteratorError2 = err;
|
|
124
|
-
} finally {
|
|
125
|
-
try {
|
|
126
|
-
!_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
|
|
127
|
-
} finally {
|
|
128
|
-
if (_didIteratorError2) throw _iteratorError2;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
await client.query("COMMIT"), console.info("Successfully committed all migrations");
|
|
132
|
-
}
|
|
133
|
-
} catch (e) {
|
|
134
|
-
console.error("Migration failed, rolling back:", e), await client.query("ROLLBACK"), console.info("Releasing client connection...");
|
|
135
|
-
try {
|
|
136
|
-
client.release(!1);
|
|
137
|
-
} catch (releaseErr) {
|
|
138
|
-
console.error("Error releasing connection after rollback:", releaseErr);
|
|
139
|
-
}
|
|
140
|
-
throw e;
|
|
141
|
-
}
|
|
142
|
-
onMigrationComplete && (await onMigrationComplete()), console.info("Releasing client connection...");
|
|
143
|
-
try {
|
|
144
|
-
client.release(!1);
|
|
145
|
-
} catch (err) {
|
|
146
|
-
console.error("Error releasing connection gracefully, trying to destroy:", err);
|
|
147
|
-
try {
|
|
148
|
-
client.release(!0);
|
|
149
|
-
} catch (destroyErr) {
|
|
150
|
-
console.error("Error destroying connection:", destroyErr);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
console.info("\u{1F64C} Done migrating"), exitProcess();
|
|
154
|
-
}
|
|
155
|
-
function exitProcess() {
|
|
156
|
-
typeof process > "u" || isServerless || process.exit(0);
|
|
157
|
-
}
|
|
158
|
-
export { migrate };
|
|
159
|
-
//# sourceMappingURL=migrate.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["basename","getDBClient","isServerless","process","env","AWS_LAMBDA_FUNCTION_NAME","AWS_LAMBDA_RUNTIME_API","LAMBDA_RUNTIME_DIR","IS_SERVERLESS","migrate","options","connectionString","migrationsGlob","createDatabases","onMigrationComplete","gitSha","cvrDb","changeDb","console","info","client","hasDB","name2","result","query","rows","length","Error","zeroDBNames","filter","Boolean","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","name","value","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","dbUrl","name1","appliedMigrations","appliedMigrationNames","Set","map","row","tsMigrationsSorted","Object","entries","sort","param","param1","a","b","localeCompare","file","run","replace","test","tsMigrations","Promise","all","has","migration2"],"sources":["../../src/migrate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { execSync } from "child_process";
|
|
2
|
-
import path from "path";
|
|
3
|
-
async function buildMigrations(options) {
|
|
4
|
-
var {
|
|
5
|
-
migrationsDir,
|
|
6
|
-
outFile = "migrate-dist.js",
|
|
7
|
-
target = "node22",
|
|
8
|
-
aliases = {}
|
|
9
|
-
} = options,
|
|
10
|
-
{
|
|
11
|
-
build
|
|
12
|
-
} = await import("vite"),
|
|
13
|
-
migrateFile = path.join(migrationsDir, "..", "migrate.ts"),
|
|
14
|
-
result = await build({
|
|
15
|
-
configFile: !1,
|
|
16
|
-
resolve: {
|
|
17
|
-
alias: aliases
|
|
18
|
-
},
|
|
19
|
-
define: {
|
|
20
|
-
"process.env.GIT_SHA": JSON.stringify(execSync("git rev-parse HEAD").toString().trim())
|
|
21
|
-
},
|
|
22
|
-
build: {
|
|
23
|
-
outDir: path.dirname(migrateFile),
|
|
24
|
-
target,
|
|
25
|
-
minify: !1,
|
|
26
|
-
emptyOutDir: !1,
|
|
27
|
-
copyPublicDir: !1,
|
|
28
|
-
lib: {
|
|
29
|
-
name: "migrate",
|
|
30
|
-
formats: ["es"],
|
|
31
|
-
entry: migrateFile
|
|
32
|
-
},
|
|
33
|
-
rollupOptions: {
|
|
34
|
-
external: function (id) {
|
|
35
|
-
return id.startsWith("node:") || id === "pg" ? !0 : id.startsWith("/") ? !1 : !id.startsWith(".") && !id.startsWith("/");
|
|
36
|
-
},
|
|
37
|
-
output: {
|
|
38
|
-
format: "es",
|
|
39
|
-
inlineDynamicImports: !0,
|
|
40
|
-
exports: "named",
|
|
41
|
-
entryFileNames: outFile
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
return console.info(`\u2713 Built migration bundle: ${outFile}`), result;
|
|
47
|
-
}
|
|
48
|
-
export { buildMigrations };
|
|
49
|
-
//# sourceMappingURL=build-migrations.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["execSync","path","buildMigrations","options","migrationsDir","outFile","target","aliases","build","migrateFile","join","result","configFile","resolve","alias","define","JSON","stringify","toString","trim","outDir","dirname","minify","emptyOutDir","copyPublicDir","lib","name","formats","entry","rollupOptions","external","id","startsWith","output","format","inlineDynamicImports","exports","entryFileNames","console","info"],"sources":["../../../src/scripts/build-migrations.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AACzB,OAAOC,IAAA,MAAU;AASjB,eAAsBC,gBAAgBC,OAAA,EAAiC;EACrE;MAAMC,aAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA,IAAAJ,OAAA;IAAA;MAAAK;IAAA;IAAAC,WAAA,GAAAR,IAAA,CAAAS,IAAA,CAAAN,aAAA;IAAAO,MAAA,SAAAH,KAAA;MACJI,UAAA;MACAC,OAAA;QACAC,KAAA,EAASP;MACT;MACFQ,MAAI;QAOF,qBAAY,EAAAC,IAAA,CAAAC,SAAA,CAAAjB,QAAA,uBAAAkB,QAAA,GAAAC,IAAA;MACZ;MAASX,KACP;QACFY,MAAA,EAAAnB,IAAA,CAAAoB,OAAA,CAAAZ,WAAA;QACAH,MAAQ;QACNgB,MAAA;QAA4BC,WACjB;QACXC,aAAA;QACFC,GAAA;UACAC,IAAO;UACLC,OAAQ,GACR,KACA;UACAC,KAAA,EAAAnB;QACA;QACAoB,aAAK;UACHC,QAAM,WAAAA,CAAAC,EAAA;YACN,OAASA,EAAC,CAAAC,UAAI,aAAAD,EAAA,iBAAAA,EAAA,CAAAC,UAAA,cAAAD,EAAA,CAAAC,UAAA,UAAAD,EAAA,CAAAC,UAAA;UACd;UACFC,MAAA;YACAC,MAAA,MAAe;YACbC,oBAES;YAOTC,OAAQ;YACNC,cAAQ,EAAAhC;UAAA;QACc;MACb;IACO;EAClB,OACFiC,OAAA,CAAAC,IAAA,mCAAAlC,OAAA,KAAAM,MAAA;AAAA;AACF,SAGFT,eAAQ","ignoreList":[]}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bun
|
|
2
|
-
import { existsSync } from "fs";
|
|
3
|
-
import { readdir, writeFile, stat, rename } from "fs/promises";
|
|
4
|
-
import { join, basename, extname } from "path";
|
|
5
|
-
function getMigrationNumber(filename) {
|
|
6
|
-
var match = filename.match(/^(\d+)/);
|
|
7
|
-
return match && match[1] ? Number.parseInt(match[1], 10) : null;
|
|
8
|
-
}
|
|
9
|
-
async function getHighestMigrationNumber(dir) {
|
|
10
|
-
var files = await readdir(dir),
|
|
11
|
-
highest = -1,
|
|
12
|
-
_iteratorNormalCompletion = !0,
|
|
13
|
-
_didIteratorError = !1,
|
|
14
|
-
_iteratorError = void 0;
|
|
15
|
-
try {
|
|
16
|
-
for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
17
|
-
var file = _step.value,
|
|
18
|
-
num = getMigrationNumber(file);
|
|
19
|
-
num !== null && num > highest && (highest = num);
|
|
20
|
-
}
|
|
21
|
-
} catch (err) {
|
|
22
|
-
_didIteratorError = !0, _iteratorError = err;
|
|
23
|
-
} finally {
|
|
24
|
-
try {
|
|
25
|
-
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
26
|
-
} finally {
|
|
27
|
-
if (_didIteratorError) throw _iteratorError;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return highest;
|
|
31
|
-
}
|
|
32
|
-
async function renameNewDrizzleMigrations(migrationsPath, sqlFiles) {
|
|
33
|
-
var drizzlePattern = /^(\d{4})_[a-z]+_[a-z_]+\.sql$/,
|
|
34
|
-
files = await readdir(migrationsPath),
|
|
35
|
-
highestNumber = await getHighestMigrationNumber(migrationsPath),
|
|
36
|
-
newDrizzleSqlFiles = sqlFiles.filter(function (file2) {
|
|
37
|
-
if (!drizzlePattern.test(file2)) return !1;
|
|
38
|
-
var tsFile = file2.replace(".sql", ".ts");
|
|
39
|
-
return !files.includes(tsFile);
|
|
40
|
-
});
|
|
41
|
-
if (newDrizzleSqlFiles.length === 0) return sqlFiles;
|
|
42
|
-
var migrationGroups = /* @__PURE__ */new Map(),
|
|
43
|
-
_iteratorNormalCompletion = !0,
|
|
44
|
-
_didIteratorError = !1,
|
|
45
|
-
_iteratorError = void 0;
|
|
46
|
-
try {
|
|
47
|
-
for (var _iterator = newDrizzleSqlFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
48
|
-
var file = _step.value,
|
|
49
|
-
num = file.substring(0, 4);
|
|
50
|
-
migrationGroups.has(num) || migrationGroups.set(num, []), migrationGroups.get(num).push(file);
|
|
51
|
-
}
|
|
52
|
-
} catch (err) {
|
|
53
|
-
_didIteratorError = !0, _iteratorError = err;
|
|
54
|
-
} finally {
|
|
55
|
-
try {
|
|
56
|
-
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
57
|
-
} finally {
|
|
58
|
-
if (_didIteratorError) throw _iteratorError;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
var nextNumber = highestNumber + 1,
|
|
62
|
-
renamedFiles = [],
|
|
63
|
-
_iteratorNormalCompletion1 = !0,
|
|
64
|
-
_didIteratorError1 = !1,
|
|
65
|
-
_iteratorError1 = void 0;
|
|
66
|
-
try {
|
|
67
|
-
for (var _iterator1 = migrationGroups[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
68
|
-
var [originalNum, groupFiles] = _step1.value,
|
|
69
|
-
drizzleNum = Number.parseInt(originalNum, 10);
|
|
70
|
-
if (drizzleNum <= highestNumber) {
|
|
71
|
-
var newNumStr = nextNumber.toString().padStart(4, "0");
|
|
72
|
-
console.info(`Renumbering new drizzle migration ${originalNum} to ${newNumStr}`);
|
|
73
|
-
var _iteratorNormalCompletion2 = !0,
|
|
74
|
-
_didIteratorError2 = !1,
|
|
75
|
-
_iteratorError2 = void 0;
|
|
76
|
-
try {
|
|
77
|
-
for (var _iterator2 = groupFiles[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
|
|
78
|
-
var file1 = _step2.value,
|
|
79
|
-
newName = file1.replace(/^\d{4}/, newNumStr),
|
|
80
|
-
oldPath = join(migrationsPath, file1),
|
|
81
|
-
newPath = join(migrationsPath, newName);
|
|
82
|
-
await rename(oldPath, newPath), console.info(` Renamed ${file1} -> ${newName}`), renamedFiles.push(newName);
|
|
83
|
-
}
|
|
84
|
-
} catch (err) {
|
|
85
|
-
_didIteratorError2 = !0, _iteratorError2 = err;
|
|
86
|
-
} finally {
|
|
87
|
-
try {
|
|
88
|
-
!_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
|
|
89
|
-
} finally {
|
|
90
|
-
if (_didIteratorError2) throw _iteratorError2;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
var metaDir = join(migrationsPath, "meta");
|
|
94
|
-
if (existsSync(metaDir)) {
|
|
95
|
-
var metaFiles = await readdir(metaDir),
|
|
96
|
-
snapshotFile = `${originalNum}_snapshot.json`;
|
|
97
|
-
if (metaFiles.includes(snapshotFile)) {
|
|
98
|
-
var newSnapshotName = `${newNumStr}_snapshot.json`;
|
|
99
|
-
await rename(join(metaDir, snapshotFile), join(metaDir, newSnapshotName)), console.info(` Renamed meta/${snapshotFile} -> meta/${newSnapshotName}`);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
nextNumber++;
|
|
103
|
-
} else renamedFiles.push(...groupFiles);
|
|
104
|
-
}
|
|
105
|
-
} catch (err) {
|
|
106
|
-
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
107
|
-
} finally {
|
|
108
|
-
try {
|
|
109
|
-
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
110
|
-
} finally {
|
|
111
|
-
if (_didIteratorError1) throw _iteratorError1;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return sqlFiles.map(function (file2) {
|
|
115
|
-
var idx = newDrizzleSqlFiles.indexOf(file2);
|
|
116
|
-
if (idx !== -1) {
|
|
117
|
-
var _iteratorNormalCompletion3 = !0,
|
|
118
|
-
_didIteratorError3 = !1,
|
|
119
|
-
_iteratorError3 = void 0;
|
|
120
|
-
try {
|
|
121
|
-
for (var _iterator3 = renamedFiles[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = !0) {
|
|
122
|
-
var renamed = _step3.value;
|
|
123
|
-
if (renamed.includes(file2.substring(5))) return renamed;
|
|
124
|
-
}
|
|
125
|
-
} catch (err) {
|
|
126
|
-
_didIteratorError3 = !0, _iteratorError3 = err;
|
|
127
|
-
} finally {
|
|
128
|
-
try {
|
|
129
|
-
!_iteratorNormalCompletion3 && _iterator3.return != null && _iterator3.return();
|
|
130
|
-
} finally {
|
|
131
|
-
if (_didIteratorError3) throw _iteratorError3;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
return file2;
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
async function syncDrizzleMigrations(options) {
|
|
139
|
-
var {
|
|
140
|
-
migrationsDir
|
|
141
|
-
} = options,
|
|
142
|
-
files = await readdir(migrationsDir),
|
|
143
|
-
sqlFiles = files.filter(function (file) {
|
|
144
|
-
return extname(file) === ".sql";
|
|
145
|
-
});
|
|
146
|
-
console.info(`Found ${sqlFiles.length} SQL files to convert to migrations.`), sqlFiles = await renameNewDrizzleMigrations(migrationsDir, sqlFiles);
|
|
147
|
-
var _iteratorNormalCompletion = !0,
|
|
148
|
-
_didIteratorError = !1,
|
|
149
|
-
_iteratorError = void 0;
|
|
150
|
-
try {
|
|
151
|
-
for (var _iterator = sqlFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
152
|
-
var sqlFile = _step.value,
|
|
153
|
-
baseName = basename(sqlFile, ".sql"),
|
|
154
|
-
tsFileName = `${baseName}.ts`,
|
|
155
|
-
tsFilePath = join(migrationsDir, tsFileName);
|
|
156
|
-
if (existsSync(tsFilePath)) {
|
|
157
|
-
var sqlStat = await stat(join(migrationsDir, sqlFile)),
|
|
158
|
-
tsStat = await stat(tsFilePath);
|
|
159
|
-
if (tsStat.mtimeMs > sqlStat.mtimeMs) continue;
|
|
160
|
-
console.info(`Updating ${tsFileName} as SQL file has been modified.`);
|
|
161
|
-
} else console.info(`Creating ${tsFileName}`);
|
|
162
|
-
var migrationContent = `import type { PoolClient } from 'pg'
|
|
163
|
-
import sql from './${sqlFile}?raw'
|
|
164
|
-
|
|
165
|
-
export async function up(client: PoolClient) {
|
|
166
|
-
await client.query(sql)
|
|
167
|
-
}
|
|
168
|
-
`;
|
|
169
|
-
await writeFile(tsFilePath, migrationContent), console.info(`Successfully created ${tsFileName}`);
|
|
170
|
-
}
|
|
171
|
-
} catch (err) {
|
|
172
|
-
_didIteratorError = !0, _iteratorError = err;
|
|
173
|
-
} finally {
|
|
174
|
-
try {
|
|
175
|
-
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
176
|
-
} finally {
|
|
177
|
-
if (_didIteratorError) throw _iteratorError;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
console.info("Migration sync completed.");
|
|
181
|
-
}
|
|
182
|
-
export { syncDrizzleMigrations };
|
|
183
|
-
//# sourceMappingURL=drizzle-migrations-sync.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["existsSync","readdir","writeFile","stat","rename","join","basename","extname","getMigrationNumber","filename","match","Number","parseInt","getHighestMigrationNumber","dir","files","highest","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","file","value","num","err","return","renameNewDrizzleMigrations","migrationsPath","sqlFiles","drizzlePattern","highestNumber","newDrizzleSqlFiles","filter","file2","test","tsFile","replace","includes","length","migrationGroups","Map","substring","has","set","get","push","nextNumber","renamedFiles","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","originalNum","groupFiles","drizzleNum","newNumStr","toString","padStart","console","info","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","file1","newName","oldPath","newPath","metaDir","metaFiles","snapshotFile","newSnapshotName"],"sources":["../../../src/scripts/drizzle-migrations-sync.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { readdirSync, writeFileSync } from "fs";
|
|
2
|
-
import { join } from "path";
|
|
3
|
-
var commonWords = ["sapphire", "emerald", "ruby", "amber", "topaz", "onyx", "pearl"];
|
|
4
|
-
function addMigration(options) {
|
|
5
|
-
var {
|
|
6
|
-
migrationsDir,
|
|
7
|
-
name
|
|
8
|
-
} = options,
|
|
9
|
-
migrationName = name || commonWords[Math.floor(Math.random() * commonWords.length)],
|
|
10
|
-
files = readdirSync(migrationsDir),
|
|
11
|
-
migrationRegex = /^(\d+)[-_].*\.(ts|sql)$/,
|
|
12
|
-
maxNumber = 0,
|
|
13
|
-
_iteratorNormalCompletion = !0,
|
|
14
|
-
_didIteratorError = !1,
|
|
15
|
-
_iteratorError = void 0;
|
|
16
|
-
try {
|
|
17
|
-
for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
18
|
-
var file = _step.value,
|
|
19
|
-
match = file.match(migrationRegex);
|
|
20
|
-
if (match?.[1]) {
|
|
21
|
-
var num = Number.parseInt(match[1], 10);
|
|
22
|
-
!Number.isNaN(num) && num > maxNumber && (maxNumber = num);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
} catch (err) {
|
|
26
|
-
_didIteratorError = !0, _iteratorError = err;
|
|
27
|
-
} finally {
|
|
28
|
-
try {
|
|
29
|
-
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
30
|
-
} finally {
|
|
31
|
-
if (_didIteratorError) throw _iteratorError;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
var nextNumber = (maxNumber + 1).toString().padStart(4, "0"),
|
|
35
|
-
newFilename = `${nextNumber}-${migrationName}.ts`,
|
|
36
|
-
newFilePath = join(migrationsDir, newFilename),
|
|
37
|
-
templateContent = `import type { PoolClient } from 'pg'
|
|
38
|
-
|
|
39
|
-
export async function up(client: PoolClient) {
|
|
40
|
-
// implementation for applying this migration
|
|
41
|
-
}
|
|
42
|
-
`;
|
|
43
|
-
return writeFileSync(newFilePath, templateContent), console.info(`Created custom migration: ${newFilePath}`), console.info("For Drizzle schema migrations, run 'drizzle-kit generate' instead"), newFilePath;
|
|
44
|
-
}
|
|
45
|
-
export { addMigration };
|
|
46
|
-
//# sourceMappingURL=migration-add.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["readdirSync","writeFileSync","join","commonWords","addMigration","options","migrationsDir","name","migrationName","Math","floor","random","length","files","migrationRegex","maxNumber","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","file","value","match","num","Number","parseInt","isNaN"],"sources":["../../../src/scripts/migration-add.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,EAAaC,aAAA,QAAqB;AAC3C,SAASC,IAAA,QAAY;AAOrB,IAAAC,WAAM,IAEC,UAAS,EACd,SAAQ,EAWR,MAAI,EACJ,SACE,SACA,MAAI,EACF,QACA;AACc,SAEhBC,aAAAC,OAAA;EACF;MAAAC,aAAA;MAAAC;IAAA,IAAAF,OAAA;IAAAG,aAAA,GAAAD,IAAA,IAAAJ,WAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAD,IAAA,CAAAE,MAAA,KAAAR,WAAA,CAAAS,MAAA;IAAAC,KAAA,GAAAb,WAAA,CAAAM,aAAA;IAAAQ,cAAA;IAAAC,SAAA;IAAAC,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EAIA;IAYA,SAAAC,SAAA,GAAcN,KAAA,CAAAO,MARU,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MAAA,IAAAS,IAAA,GAAAH,KAAA,CAAAI,KAAA;QAAAC,KAAA,GAAAF,IAAA,CAAAE,KAAA,CAAAb,cAAA;MAAA,IAAAa,KAAA;QAAA,IAAAC,GAAA,GAAAC,MAAA,CAAAC,QAAA,CAAAH,KAAA;QAAA,CAAAE,MAAA,CAAAE,KAAA,CAAAH,GAAA,KAAAA,GAAA,GAAAb,SAAA,KAAAA,SAAA,GAAAa,GAAA;MAUxB;IAIF","ignoreList":[]}
|