@take-out/postgres 0.1.14 → 0.1.16

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/README.md CHANGED
@@ -136,7 +136,7 @@ bun migrate run
136
136
  bun migrate build
137
137
 
138
138
  # add a custom typescript migration
139
- bun db:migrate-add my-migration-name
139
+ bun db:add-migration my-migration-name
140
140
  ```
141
141
 
142
142
  ### CLI Configuration
@@ -162,7 +162,7 @@ migrations. You don't need to run Drizzle commands directly.
162
162
  For data migrations or changes that can't be expressed in schema:
163
163
 
164
164
  ```bash
165
- bun db:migrate-add fix-user-data
165
+ bun db:add-migration fix-user-data
166
166
  ```
167
167
 
168
168
  This creates a new TypeScript file:
@@ -82,7 +82,18 @@ async function migrate(options) {
82
82
  }
83
83
  })).then(migrations2 => migrations2.filter(Boolean)))].sort((a, b) => a.name.localeCompare(b.name));
84
84
  if (!migrations.length) await client.query("COMMIT");else {
85
- for (const migration of migrations) migration.up && (await migration.up(client)), await client.query("INSERT INTO public.migrations (name) VALUES ($1)", [migration.name]);
85
+ for (const migration of migrations) {
86
+ if (migration.up) {
87
+ const sp = `sp_${migration.name.replace(/\W/g, "_")}`;
88
+ await client.query(`SAVEPOINT ${sp}`);
89
+ try {
90
+ await migration.up(client), await client.query(`RELEASE SAVEPOINT ${sp}`);
91
+ } catch (e) {
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;
93
+ }
94
+ }
95
+ await client.query("INSERT INTO public.migrations (name) VALUES ($1)", [migration.name]);
96
+ }
86
97
  await client.query("COMMIT");
87
98
  }
88
99
  } catch (e) {
@@ -67,10 +67,25 @@ async function migrate(options) {
67
67
  if (!migrations.length)
68
68
  await client.query("COMMIT");
69
69
  else {
70
- for (const migration of migrations)
71
- migration.up && await migration.up(client), await client.query("INSERT INTO public.migrations (name) VALUES ($1)", [
70
+ for (const migration of migrations) {
71
+ if (migration.up) {
72
+ const sp = `sp_${migration.name.replace(/\W/g, "_")}`;
73
+ await client.query(`SAVEPOINT ${sp}`);
74
+ try {
75
+ await migration.up(client), await client.query(`RELEASE SAVEPOINT ${sp}`);
76
+ } catch (e) {
77
+ if (await client.query(`ROLLBACK TO SAVEPOINT ${sp}`), e?.code?.startsWith("42"))
78
+ console.info(
79
+ `[migrate] ${migration.name}: ${e.message}, recording as applied`
80
+ );
81
+ else
82
+ throw e;
83
+ }
84
+ }
85
+ await client.query("INSERT INTO public.migrations (name) VALUES ($1)", [
72
86
  migration.name
73
87
  ]);
88
+ }
74
89
  await client.query("COMMIT");
75
90
  }
76
91
  } catch (e) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/migrate.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["migrations"]
6
6
  }
@@ -49,10 +49,25 @@ async function migrate(options) {
49
49
  if (!migrations.length)
50
50
  await client.query("COMMIT");
51
51
  else {
52
- for (const migration of migrations)
53
- migration.up && await migration.up(client), await client.query("INSERT INTO public.migrations (name) VALUES ($1)", [
52
+ for (const migration of migrations) {
53
+ if (migration.up) {
54
+ const sp = `sp_${migration.name.replace(/\W/g, "_")}`;
55
+ await client.query(`SAVEPOINT ${sp}`);
56
+ try {
57
+ await migration.up(client), await client.query(`RELEASE SAVEPOINT ${sp}`);
58
+ } catch (e) {
59
+ if (await client.query(`ROLLBACK TO SAVEPOINT ${sp}`), e?.code?.startsWith("42"))
60
+ console.info(
61
+ `[migrate] ${migration.name}: ${e.message}, recording as applied`
62
+ );
63
+ else
64
+ throw e;
65
+ }
66
+ }
67
+ await client.query("INSERT INTO public.migrations (name) VALUES ($1)", [
54
68
  migration.name
55
69
  ]);
70
+ }
56
71
  await client.query("COMMIT");
57
72
  }
58
73
  } catch (e) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/migrate.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["migrations"]
6
6
  }
@@ -57,7 +57,18 @@ async function migrate(options) {
57
57
  }
58
58
  })).then(migrations2 => migrations2.filter(Boolean)))].sort((a, b) => a.name.localeCompare(b.name));
59
59
  if (!migrations.length) await client.query("COMMIT");else {
60
- for (const migration of migrations) migration.up && (await migration.up(client)), await client.query("INSERT INTO public.migrations (name) VALUES ($1)", [migration.name]);
60
+ for (const migration of migrations) {
61
+ if (migration.up) {
62
+ const sp = `sp_${migration.name.replace(/\W/g, "_")}`;
63
+ await client.query(`SAVEPOINT ${sp}`);
64
+ try {
65
+ await migration.up(client), await client.query(`RELEASE SAVEPOINT ${sp}`);
66
+ } catch (e) {
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;
68
+ }
69
+ }
70
+ await client.query("INSERT INTO public.migrations (name) VALUES ($1)", [migration.name]);
71
+ }
61
72
  await client.query("COMMIT");
62
73
  }
63
74
  } catch (e) {
@@ -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","release","releaseErr","err","destroyErr","exitProcess","exit"],"sources":["../../src/migrate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@take-out/postgres",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "sideEffects": false,
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/cjs",
@@ -43,7 +43,7 @@
43
43
  }
44
44
  },
45
45
  "dependencies": {
46
- "@take-out/helpers": "0.1.14",
46
+ "@take-out/helpers": "0.1.16",
47
47
  "async-retry": "^1.3.3",
48
48
  "citty": "^0.1.6"
49
49
  },
package/src/migrate.ts CHANGED
@@ -131,7 +131,25 @@ export async function migrate(options: MigrateOptions) {
131
131
  } else {
132
132
  for (const migration of migrations) {
133
133
  if (migration.up) {
134
- await migration.up(client)
134
+ // use savepoints so "already exists" errors don't abort the transaction.
135
+ // this handles cases where tables/columns exist but migration tracking
136
+ // was lost (e.g. db restore, pglite data loss)
137
+ const sp = `sp_${migration.name.replace(/\W/g, '_')}`
138
+ await client.query(`SAVEPOINT ${sp}`)
139
+ try {
140
+ await migration.up(client)
141
+ await client.query(`RELEASE SAVEPOINT ${sp}`)
142
+ } catch (e: any) {
143
+ await client.query(`ROLLBACK TO SAVEPOINT ${sp}`)
144
+ // pg "duplicate" class errors: table, column, object, etc
145
+ if (e?.code?.startsWith('42')) {
146
+ console.info(
147
+ `[migrate] ${migration.name}: ${e.message}, recording as applied`,
148
+ )
149
+ } else {
150
+ throw e
151
+ }
152
+ }
135
153
  }
136
154
 
137
155
  await client.query('INSERT INTO public.migrations (name) VALUES ($1)', [
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAEpC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3C,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IACtD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAUD,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,iBAoIpD"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAEpC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3C,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IACtD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAUD,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,iBAsJpD"}