@take-out/postgres 0.1.17 → 0.1.18
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/cjs/migrate.cjs +4 -3
- package/dist/cjs/migrate.js +4 -3
- package/dist/cjs/migrate.js.map +1 -1
- package/dist/esm/migrate.js +4 -3
- package/dist/esm/migrate.js.map +1 -1
- package/dist/esm/migrate.mjs +4 -3
- package/dist/esm/migrate.mjs.map +1 -1
- package/package.json +1 -1
- package/src/migrate.ts +4 -3
package/dist/cjs/migrate.cjs
CHANGED
|
@@ -84,11 +84,12 @@ async function migrate(options) {
|
|
|
84
84
|
if (!migrations.length) await client.query("COMMIT");else {
|
|
85
85
|
for (const migration of migrations) {
|
|
86
86
|
if (migration.up) {
|
|
87
|
-
|
|
87
|
+
const sp = `sp_${migration.name.replace(/\W/g, "_")}`;
|
|
88
|
+
await client.query(`SAVEPOINT ${sp}`);
|
|
88
89
|
try {
|
|
89
|
-
await migration.up(client), await client.query(`RELEASE SAVEPOINT
|
|
90
|
+
await migration.up(client), await client.query(`RELEASE SAVEPOINT ${sp}`);
|
|
90
91
|
} catch (e) {
|
|
91
|
-
if (await client.query(`ROLLBACK TO SAVEPOINT
|
|
92
|
+
if (await client.query(`ROLLBACK TO SAVEPOINT ${sp}`), e?.code?.startsWith("42")) console.info(`[migrate] ${migration.name}: ${e.message}, recording as applied`);else throw e;
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
95
|
await client.query("INSERT INTO public.migrations (name) VALUES ($1)", [migration.name]);
|
package/dist/cjs/migrate.js
CHANGED
|
@@ -69,11 +69,12 @@ async function migrate(options) {
|
|
|
69
69
|
else {
|
|
70
70
|
for (const migration of migrations) {
|
|
71
71
|
if (migration.up) {
|
|
72
|
-
|
|
72
|
+
const sp = `sp_${migration.name.replace(/\W/g, "_")}`;
|
|
73
|
+
await client.query(`SAVEPOINT ${sp}`);
|
|
73
74
|
try {
|
|
74
|
-
await migration.up(client), await client.query(`RELEASE SAVEPOINT
|
|
75
|
+
await migration.up(client), await client.query(`RELEASE SAVEPOINT ${sp}`);
|
|
75
76
|
} catch (e) {
|
|
76
|
-
if (await client.query(`ROLLBACK TO SAVEPOINT
|
|
77
|
+
if (await client.query(`ROLLBACK TO SAVEPOINT ${sp}`), e?.code?.startsWith("42"))
|
|
77
78
|
console.info(
|
|
78
79
|
`[migrate] ${migration.name}: ${e.message}, recording as applied`
|
|
79
80
|
);
|
package/dist/cjs/migrate.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/migrate.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,uBAAyB,sBAEzB,qBAA4B;AAoB5B,MAAM,eAAe,CAAC,EACpB,QAAQ,IAAI,4BACZ,QAAQ,IAAI,0BACZ,QAAQ,IAAI,sBACZ,QAAQ,IAAI;AAGd,eAAsB,QAAQ,SAAyB;AACrD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,kBAAkB,CAAC;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,SAEE,SAAS,UAAM,gCAAY,EAAE,iBAAiB,CAAC,GAE/C,QAAQ,OAAO,SACJ,CAAC,EACd,MAAM,OAAO,MAAM;AAAA,qDAC4B,IAAI;AAAA,OAClD,GACD,KAAK;AAMT,MAAI,SAAS,UAAU;AACrB,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,eAAe;AAGjC,UAAM,cAAc,KAAC,2BAAS,SAAS,EAAE,OAAG,2BAAS,YAAY,EAAE,CAAC,EAAE,OAAO,OAAO;AAEpF,eAAW,QAAQ;AACjB,MAAM,MAAM,MAAM,IAAI,KACpB,MAAM,OAAO,MAAM,mBAAmB,IAAI,GAAG;AAAA,EAGnD;AAGA,aAAW,SAAS,iBAAiB;AACnC,UAAM,WAAO,2BAAS,KAAK;AAC3B,IAAM,MAAM,MAAM,IAAI,KACpB,MAAM,OAAO,MAAM,mBAAmB,IAAI,GAAG;AAAA,EAEjD;AAEA,MAAI;AACF,UAAM,OAAO,MAAM,OAAO,GAG1B,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMlB;AAED,UAAM,oBAAoB,MAAM,OAAO,MAAM,oCAAoC,GAC3E,wBAAwB,IAAI,IAAI,kBAAkB,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAG7E,qBAAqB,OAAO,QAAQ,cAAc,EACrD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EACrC,IAAI,CAAC,CAAC,MAAM,GAAG,OAAO;AAAA,MACrB,UAAM,2BAAS,IAAI,EAAE,QAAQ,OAAO,EAAE;AAAA,MACtC;AAAA,IACF,EAAE,EACD,OAAO,CAAC,EAAE,KAAK,MAAM,SAAS,KAAK,IAAI,CAAC,GAmBrC,aAAa,CAAC,GAhBc,MAAM,QAAQ;AAAA,MAC9C,mBAAmB,IAAI,OAAO,EAAE,MAAM,IAAI,MAAM;AAC9C,YAAI,sBAAsB,IAAI,IAAI;AAChC,iBAAO;AAET,YAAI;AAEF,iBAAO,EAAE,GADU,MAAM,IAAI,GACN,KAAK;AAAA,QAC9B,SAAS,OAAO;AACd,wBAAQ,MAAM,uCAAuC,IAAI,KAAK,KAAK,GAC7D;AAAA,QACR;AAAA,MACF,CAAC;AAAA,IACH,EAAE,KAAK,CAACA,gBAAeA,YAAW,OAAO,OAAO,CAAgB,CAG7B,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAEhF,QAAI,CAAC,WAAW;AACd,YAAM,OAAO,MAAM,QAAQ;AAAA,SACtB;AACL,iBAAW,aAAa,YAAY;AAClC,YAAI,UAAU,IAAI;AAIhB,gBAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["migrations"]
|
|
6
6
|
}
|
package/dist/esm/migrate.js
CHANGED
|
@@ -51,11 +51,12 @@ async function migrate(options) {
|
|
|
51
51
|
else {
|
|
52
52
|
for (const migration of migrations) {
|
|
53
53
|
if (migration.up) {
|
|
54
|
-
|
|
54
|
+
const sp = `sp_${migration.name.replace(/\W/g, "_")}`;
|
|
55
|
+
await client.query(`SAVEPOINT ${sp}`);
|
|
55
56
|
try {
|
|
56
|
-
await migration.up(client), await client.query(`RELEASE SAVEPOINT
|
|
57
|
+
await migration.up(client), await client.query(`RELEASE SAVEPOINT ${sp}`);
|
|
57
58
|
} catch (e) {
|
|
58
|
-
if (await client.query(`ROLLBACK TO SAVEPOINT
|
|
59
|
+
if (await client.query(`ROLLBACK TO SAVEPOINT ${sp}`), e?.code?.startsWith("42"))
|
|
59
60
|
console.info(
|
|
60
61
|
`[migrate] ${migration.name}: ${e.message}, recording as applied`
|
|
61
62
|
);
|
package/dist/esm/migrate.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/migrate.ts"],
|
|
4
|
-
"mappings": "AAUA,SAAS,gBAAgB;AAEzB,SAAS,mBAAmB;AAoB5B,MAAM,eAAe,CAAC,EACpB,QAAQ,IAAI,4BACZ,QAAQ,IAAI,0BACZ,QAAQ,IAAI,sBACZ,QAAQ,IAAI;AAGd,eAAsB,QAAQ,SAAyB;AACrD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,kBAAkB,CAAC;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,SAEE,SAAS,MAAM,YAAY,EAAE,iBAAiB,CAAC,GAE/C,QAAQ,OAAO,SACJ,CAAC,EACd,MAAM,OAAO,MAAM;AAAA,qDAC4B,IAAI;AAAA,OAClD,GACD,KAAK;AAMT,MAAI,SAAS,UAAU;AACrB,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,eAAe;AAGjC,UAAM,cAAc,CAAC,SAAS,SAAS,EAAE,GAAG,SAAS,YAAY,EAAE,CAAC,EAAE,OAAO,OAAO;AAEpF,eAAW,QAAQ;AACjB,MAAM,MAAM,MAAM,IAAI,KACpB,MAAM,OAAO,MAAM,mBAAmB,IAAI,GAAG;AAAA,EAGnD;AAGA,aAAW,SAAS,iBAAiB;AACnC,UAAM,OAAO,SAAS,KAAK;AAC3B,IAAM,MAAM,MAAM,IAAI,KACpB,MAAM,OAAO,MAAM,mBAAmB,IAAI,GAAG;AAAA,EAEjD;AAEA,MAAI;AACF,UAAM,OAAO,MAAM,OAAO,GAG1B,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMlB;AAED,UAAM,oBAAoB,MAAM,OAAO,MAAM,oCAAoC,GAC3E,wBAAwB,IAAI,IAAI,kBAAkB,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAG7E,qBAAqB,OAAO,QAAQ,cAAc,EACrD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EACrC,IAAI,CAAC,CAAC,MAAM,GAAG,OAAO;AAAA,MACrB,MAAM,SAAS,IAAI,EAAE,QAAQ,OAAO,EAAE;AAAA,MACtC;AAAA,IACF,EAAE,EACD,OAAO,CAAC,EAAE,KAAK,MAAM,SAAS,KAAK,IAAI,CAAC,GAmBrC,aAAa,CAAC,GAhBc,MAAM,QAAQ;AAAA,MAC9C,mBAAmB,IAAI,OAAO,EAAE,MAAM,IAAI,MAAM;AAC9C,YAAI,sBAAsB,IAAI,IAAI;AAChC,iBAAO;AAET,YAAI;AAEF,iBAAO,EAAE,GADU,MAAM,IAAI,GACN,KAAK;AAAA,QAC9B,SAAS,OAAO;AACd,wBAAQ,MAAM,uCAAuC,IAAI,KAAK,KAAK,GAC7D;AAAA,QACR;AAAA,MACF,CAAC;AAAA,IACH,EAAE,KAAK,CAACA,gBAAeA,YAAW,OAAO,OAAO,CAAgB,CAG7B,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAEhF,QAAI,CAAC,WAAW;AACd,YAAM,OAAO,MAAM,QAAQ;AAAA,SACtB;AACL,iBAAW,aAAa,YAAY;AAClC,YAAI,UAAU,IAAI;AAIhB,gBAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["migrations"]
|
|
6
6
|
}
|
package/dist/esm/migrate.mjs
CHANGED
|
@@ -59,11 +59,12 @@ async function migrate(options) {
|
|
|
59
59
|
if (!migrations.length) await client.query("COMMIT");else {
|
|
60
60
|
for (const migration of migrations) {
|
|
61
61
|
if (migration.up) {
|
|
62
|
-
|
|
62
|
+
const sp = `sp_${migration.name.replace(/\W/g, "_")}`;
|
|
63
|
+
await client.query(`SAVEPOINT ${sp}`);
|
|
63
64
|
try {
|
|
64
|
-
await migration.up(client), await client.query(`RELEASE SAVEPOINT
|
|
65
|
+
await migration.up(client), await client.query(`RELEASE SAVEPOINT ${sp}`);
|
|
65
66
|
} catch (e) {
|
|
66
|
-
if (await client.query(`ROLLBACK TO SAVEPOINT
|
|
67
|
+
if (await client.query(`ROLLBACK TO SAVEPOINT ${sp}`), e?.code?.startsWith("42")) console.info(`[migrate] ${migration.name}: ${e.message}, recording as applied`);else throw e;
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
70
|
await client.query("INSERT INTO public.migrations (name) VALUES ($1)", [migration.name]);
|
package/dist/esm/migrate.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","client","hasDB","name","query","rows","length","Error","zeroDBNames","filter","Boolean","dbUrl","appliedMigrations","appliedMigrationNames","Set","map","row","tsMigrationsSorted","Object","entries","sort","a","b","localeCompare","file","run","replace","test","migrations","Promise","all","has","error","console","then","migrations2","migration","up","e","code","startsWith","info","message","release","releaseErr","err","destroyErr","exitProcess","exit"],"sources":["../../src/migrate.ts"],"sourcesContent":[null],"mappings":"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
|
|
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","client","hasDB","name","query","rows","length","Error","zeroDBNames","filter","Boolean","dbUrl","appliedMigrations","appliedMigrationNames","Set","map","row","tsMigrationsSorted","Object","entries","sort","a","b","localeCompare","file","run","replace","test","migrations","Promise","all","has","error","console","then","migrations2","migration","up","sp","e","code","startsWith","info","message","release","releaseErr","err","destroyErr","exitProcess","exit"],"sources":["../../src/migrate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/migrate.ts
CHANGED
|
@@ -134,12 +134,13 @@ export async function migrate(options: MigrateOptions) {
|
|
|
134
134
|
// use savepoints so "already exists" errors don't abort the transaction.
|
|
135
135
|
// this handles cases where tables/columns exist but migration tracking
|
|
136
136
|
// was lost (e.g. db restore, pglite data loss)
|
|
137
|
-
|
|
137
|
+
const sp = `sp_${migration.name.replace(/\W/g, '_')}`
|
|
138
|
+
await client.query(`SAVEPOINT ${sp}`)
|
|
138
139
|
try {
|
|
139
140
|
await migration.up(client)
|
|
140
|
-
await client.query(`RELEASE SAVEPOINT
|
|
141
|
+
await client.query(`RELEASE SAVEPOINT ${sp}`)
|
|
141
142
|
} catch (e: any) {
|
|
142
|
-
await client.query(`ROLLBACK TO SAVEPOINT
|
|
143
|
+
await client.query(`ROLLBACK TO SAVEPOINT ${sp}`)
|
|
143
144
|
// pg "duplicate" class errors: table, column, object, etc
|
|
144
145
|
if (e?.code?.startsWith('42')) {
|
|
145
146
|
console.info(
|