@take-out/postgres 0.0.28

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 (186) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +242 -0
  3. package/cli.cjs +3 -0
  4. package/dist/cjs/build.cjs +26 -0
  5. package/dist/cjs/build.js +21 -0
  6. package/dist/cjs/build.js.map +6 -0
  7. package/dist/cjs/build.native.js +29 -0
  8. package/dist/cjs/build.native.js.map +1 -0
  9. package/dist/cjs/cli.cjs +156 -0
  10. package/dist/cjs/cli.js +128 -0
  11. package/dist/cjs/cli.js.map +6 -0
  12. package/dist/cjs/cli.native.js +164 -0
  13. package/dist/cjs/cli.native.js.map +1 -0
  14. package/dist/cjs/createServerHelpers.cjs +37 -0
  15. package/dist/cjs/createServerHelpers.js +28 -0
  16. package/dist/cjs/createServerHelpers.js.map +6 -0
  17. package/dist/cjs/createServerHelpers.native.js +43 -0
  18. package/dist/cjs/createServerHelpers.native.js.map +1 -0
  19. package/dist/cjs/helpers/chunkedQuery.cjs +60 -0
  20. package/dist/cjs/helpers/chunkedQuery.js +51 -0
  21. package/dist/cjs/helpers/chunkedQuery.js.map +6 -0
  22. package/dist/cjs/helpers/chunkedQuery.native.js +73 -0
  23. package/dist/cjs/helpers/chunkedQuery.native.js.map +1 -0
  24. package/dist/cjs/helpers/getDBClient.cjs +172 -0
  25. package/dist/cjs/helpers/getDBClient.js +179 -0
  26. package/dist/cjs/helpers/getDBClient.js.map +6 -0
  27. package/dist/cjs/helpers/getDBClient.native.js +189 -0
  28. package/dist/cjs/helpers/getDBClient.native.js.map +1 -0
  29. package/dist/cjs/index.cjs +59 -0
  30. package/dist/cjs/index.js +45 -0
  31. package/dist/cjs/index.js.map +6 -0
  32. package/dist/cjs/index.native.js +64 -0
  33. package/dist/cjs/index.native.js.map +1 -0
  34. package/dist/cjs/migrate.cjs +117 -0
  35. package/dist/cjs/migrate.js +106 -0
  36. package/dist/cjs/migrate.js.map +6 -0
  37. package/dist/cjs/migrate.native.js +185 -0
  38. package/dist/cjs/migrate.native.js.map +1 -0
  39. package/dist/cjs/scripts/build-migrations.cjs +81 -0
  40. package/dist/cjs/scripts/build-migrations.js +69 -0
  41. package/dist/cjs/scripts/build-migrations.js.map +6 -0
  42. package/dist/cjs/scripts/build-migrations.native.js +86 -0
  43. package/dist/cjs/scripts/build-migrations.native.js.map +1 -0
  44. package/dist/cjs/scripts/drizzle-migrations-sync.cjs +111 -0
  45. package/dist/cjs/scripts/drizzle-migrations-sync.js +101 -0
  46. package/dist/cjs/scripts/drizzle-migrations-sync.js.map +6 -0
  47. package/dist/cjs/scripts/drizzle-migrations-sync.native.js +209 -0
  48. package/dist/cjs/scripts/drizzle-migrations-sync.native.js.map +1 -0
  49. package/dist/cjs/scripts/migration-add.cjs +53 -0
  50. package/dist/cjs/scripts/migration-add.js +40 -0
  51. package/dist/cjs/scripts/migration-add.js.map +6 -0
  52. package/dist/cjs/scripts/migration-add.native.js +72 -0
  53. package/dist/cjs/scripts/migration-add.native.js.map +1 -0
  54. package/dist/cjs/scripts/pg_dump.cjs +49 -0
  55. package/dist/cjs/scripts/pg_dump.js +36 -0
  56. package/dist/cjs/scripts/pg_dump.js.map +6 -0
  57. package/dist/cjs/scripts/pg_dump.native.js +55 -0
  58. package/dist/cjs/scripts/pg_dump.native.js.map +1 -0
  59. package/dist/cjs/scripts/psql.cjs +50 -0
  60. package/dist/cjs/scripts/psql.js +37 -0
  61. package/dist/cjs/scripts/psql.js.map +6 -0
  62. package/dist/cjs/scripts/psql.native.js +56 -0
  63. package/dist/cjs/scripts/psql.native.js.map +1 -0
  64. package/dist/cjs/sql.cjs +40 -0
  65. package/dist/cjs/sql.js +35 -0
  66. package/dist/cjs/sql.js.map +6 -0
  67. package/dist/cjs/sql.native.js +49 -0
  68. package/dist/cjs/sql.native.js.map +1 -0
  69. package/dist/esm/build.js +5 -0
  70. package/dist/esm/build.js.map +6 -0
  71. package/dist/esm/build.mjs +3 -0
  72. package/dist/esm/build.mjs.map +1 -0
  73. package/dist/esm/build.native.js +3 -0
  74. package/dist/esm/build.native.js.map +1 -0
  75. package/dist/esm/cli.js +134 -0
  76. package/dist/esm/cli.js.map +6 -0
  77. package/dist/esm/cli.mjs +157 -0
  78. package/dist/esm/cli.mjs.map +1 -0
  79. package/dist/esm/cli.native.js +162 -0
  80. package/dist/esm/cli.native.js.map +1 -0
  81. package/dist/esm/createServerHelpers.js +13 -0
  82. package/dist/esm/createServerHelpers.js.map +6 -0
  83. package/dist/esm/createServerHelpers.mjs +14 -0
  84. package/dist/esm/createServerHelpers.mjs.map +1 -0
  85. package/dist/esm/createServerHelpers.native.js +17 -0
  86. package/dist/esm/createServerHelpers.native.js.map +1 -0
  87. package/dist/esm/helpers/chunkedQuery.js +35 -0
  88. package/dist/esm/helpers/chunkedQuery.js.map +6 -0
  89. package/dist/esm/helpers/chunkedQuery.mjs +36 -0
  90. package/dist/esm/helpers/chunkedQuery.mjs.map +1 -0
  91. package/dist/esm/helpers/chunkedQuery.native.js +46 -0
  92. package/dist/esm/helpers/chunkedQuery.native.js.map +1 -0
  93. package/dist/esm/helpers/getDBClient.js +155 -0
  94. package/dist/esm/helpers/getDBClient.js.map +6 -0
  95. package/dist/esm/helpers/getDBClient.mjs +136 -0
  96. package/dist/esm/helpers/getDBClient.mjs.map +1 -0
  97. package/dist/esm/helpers/getDBClient.native.js +150 -0
  98. package/dist/esm/helpers/getDBClient.native.js.map +1 -0
  99. package/dist/esm/index.js +29 -0
  100. package/dist/esm/index.js.map +6 -0
  101. package/dist/esm/index.mjs +18 -0
  102. package/dist/esm/index.mjs.map +1 -0
  103. package/dist/esm/index.native.js +20 -0
  104. package/dist/esm/index.native.js.map +1 -0
  105. package/dist/esm/migrate.js +91 -0
  106. package/dist/esm/migrate.js.map +6 -0
  107. package/dist/esm/migrate.mjs +94 -0
  108. package/dist/esm/migrate.mjs.map +1 -0
  109. package/dist/esm/migrate.native.js +159 -0
  110. package/dist/esm/migrate.native.js.map +1 -0
  111. package/dist/esm/scripts/build-migrations.js +46 -0
  112. package/dist/esm/scripts/build-migrations.js.map +6 -0
  113. package/dist/esm/scripts/build-migrations.mjs +47 -0
  114. package/dist/esm/scripts/build-migrations.mjs.map +1 -0
  115. package/dist/esm/scripts/build-migrations.native.js +49 -0
  116. package/dist/esm/scripts/build-migrations.native.js.map +1 -0
  117. package/dist/esm/scripts/drizzle-migrations-sync.js +87 -0
  118. package/dist/esm/scripts/drizzle-migrations-sync.js.map +6 -0
  119. package/dist/esm/scripts/drizzle-migrations-sync.mjs +88 -0
  120. package/dist/esm/scripts/drizzle-migrations-sync.mjs.map +1 -0
  121. package/dist/esm/scripts/drizzle-migrations-sync.native.js +183 -0
  122. package/dist/esm/scripts/drizzle-migrations-sync.native.js.map +1 -0
  123. package/dist/esm/scripts/migration-add.js +25 -0
  124. package/dist/esm/scripts/migration-add.js.map +6 -0
  125. package/dist/esm/scripts/migration-add.mjs +30 -0
  126. package/dist/esm/scripts/migration-add.mjs.map +1 -0
  127. package/dist/esm/scripts/migration-add.native.js +46 -0
  128. package/dist/esm/scripts/migration-add.native.js.map +1 -0
  129. package/dist/esm/scripts/pg_dump.js +20 -0
  130. package/dist/esm/scripts/pg_dump.js.map +6 -0
  131. package/dist/esm/scripts/pg_dump.mjs +26 -0
  132. package/dist/esm/scripts/pg_dump.mjs.map +1 -0
  133. package/dist/esm/scripts/pg_dump.native.js +29 -0
  134. package/dist/esm/scripts/pg_dump.native.js.map +1 -0
  135. package/dist/esm/scripts/psql.js +21 -0
  136. package/dist/esm/scripts/psql.js.map +6 -0
  137. package/dist/esm/scripts/psql.mjs +27 -0
  138. package/dist/esm/scripts/psql.mjs.map +1 -0
  139. package/dist/esm/scripts/psql.native.js +30 -0
  140. package/dist/esm/scripts/psql.native.js.map +1 -0
  141. package/dist/esm/sql.js +19 -0
  142. package/dist/esm/sql.js.map +6 -0
  143. package/dist/esm/sql.mjs +15 -0
  144. package/dist/esm/sql.mjs.map +1 -0
  145. package/dist/esm/sql.native.js +21 -0
  146. package/dist/esm/sql.native.js.map +1 -0
  147. package/package.json +67 -0
  148. package/src/build.ts +2 -0
  149. package/src/cli.ts +153 -0
  150. package/src/createServerHelpers.ts +20 -0
  151. package/src/helpers/chunkedQuery.ts +91 -0
  152. package/src/helpers/getDBClient.ts +264 -0
  153. package/src/index.ts +36 -0
  154. package/src/migrate.ts +192 -0
  155. package/src/scripts/build-migrations.ts +66 -0
  156. package/src/scripts/drizzle-migrations-sync.ts +179 -0
  157. package/src/scripts/migration-add.ts +54 -0
  158. package/src/scripts/pg_dump.ts +46 -0
  159. package/src/scripts/psql.ts +51 -0
  160. package/src/sql.ts +36 -0
  161. package/types/build.d.ts +2 -0
  162. package/types/build.d.ts.map +1 -0
  163. package/types/cli.d.ts +3 -0
  164. package/types/cli.d.ts.map +1 -0
  165. package/types/createServerHelpers.d.ts +9 -0
  166. package/types/createServerHelpers.d.ts.map +1 -0
  167. package/types/helpers/chunkedQuery.d.ts +17 -0
  168. package/types/helpers/chunkedQuery.d.ts.map +1 -0
  169. package/types/helpers/getDBClient.d.ts +11 -0
  170. package/types/helpers/getDBClient.d.ts.map +1 -0
  171. package/types/index.d.ts +10 -0
  172. package/types/index.d.ts.map +1 -0
  173. package/types/migrate.d.ts +25 -0
  174. package/types/migrate.d.ts.map +1 -0
  175. package/types/scripts/build-migrations.d.ts +8 -0
  176. package/types/scripts/build-migrations.d.ts.map +1 -0
  177. package/types/scripts/drizzle-migrations-sync.d.ts +11 -0
  178. package/types/scripts/drizzle-migrations-sync.d.ts.map +1 -0
  179. package/types/scripts/migration-add.d.ts +6 -0
  180. package/types/scripts/migration-add.d.ts.map +1 -0
  181. package/types/scripts/pg_dump.d.ts +11 -0
  182. package/types/scripts/pg_dump.d.ts.map +1 -0
  183. package/types/scripts/psql.d.ts +11 -0
  184. package/types/scripts/psql.d.ts.map +1 -0
  185. package/types/sql.d.ts +9 -0
  186. package/types/sql.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","build_migrations_exports","__export","buildMigrations","module","exports","import_child_process","require","import_path","__toESM","options","migrationsDir","outFile","target","aliases","build","migrateFile","default","join","result","configFile","resolve","alias","define","JSON","stringify","execSync","toString","trim","outDir","dirname","minify","emptyOutDir","copyPublicDir","lib","name","formats","entry","rollupOptions","external","id","startsWith","output","format","inlineDynamicImports","entryFileNames","console","info"],"sources":["../../../src/scripts/build-migrations.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAA;EAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;IAAAC,KAAA;EAAA,IAAAH,GAAA;AAAA,IAAAI,wBAAA;AAAAC,QAAA,CAAAD,wBAAA;EAAAE,eAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAA,CAAAK,wBAAyB;AAUzB,IAAAK,oBAAsB,GAAAC,OAAgB,gBAAiC;EAAAC,WAAA,GAAAC,OAAA,CAAAF,OAAA;AACrE,eAAMJ,gBAAAO,OAAA;EAAA,IACJ;MAAAC,aAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA,IAAAJ,OAAA;IAAA;MAAAK;IAAA;IAAAC,WAAA,GAAAR,WAAA,CAAAS,OAAA,CAAAC,IAAA,CAAAP,aAAA;IAAAQ,MAAA,SAAAJ,KAAA;MACAK,UAAU;MACVC,OAAA,EAAS;QACTC,KAAA,EAAAR;MACF;MAOES,MAAA;QACA,qBAAS,EAAAC,IAAA,CAAAC,SAAA,KAAAnB,oBAAA,CAAAoB,QAAA,wBAAAC,QAAA,GAAAC,IAAA;MAAA;MAETb,KAAA;QACAc,MAAQ,EAAArB,WAAA,CAAAS,OAAA,CAAAa,OAAA,CAAAd,WAAA;QACNH,MAAA;QAA4BkB,MAC1B;QACFC,WAAA;QACFC,aAAA;QACAC,GAAA,EAAO;UACLC,IAAA,EAAQ;UACRC,OAAA,GACA,IAAQ,CACR;UACAC,KAAA,EAAArB;QACA;QAAKsB,aACG;UACNC,QAAA,EAAU,SAAAA,CAAIC,EAAA;YACd,OAAOA,EAAA,CAAAC,UAAA,aAAAD,EAAA,iBAAAA,EAAA,CAAAC,UAAA,cAAAD,EAAA,CAAAC,UAAA,UAAAD,EAAA,CAAAC,UAAA;UACT;UACAC,MAAA;YACEC,MAAA,EAAU,IAAC;YASXC,oBAAQ;YACNvC,OAAA,EAAQ;YACRwC,cAAA,EAAAjC;UAAsB;QACb;MACO;IAClB;EACF,OACFkC,OAAA,CAAAC,IAAA,mCAAAnC,OAAA,KAAAO,MAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,111 @@
1
+ #!/usr/bin/env bun
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all) __defProp(target, name, {
8
+ get: all[name],
9
+ enumerable: !0
10
+ });
11
+ },
12
+ __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ return to;
18
+ };
19
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
20
+ value: !0
21
+ }), mod);
22
+ var drizzle_migrations_sync_exports = {};
23
+ __export(drizzle_migrations_sync_exports, {
24
+ syncDrizzleMigrations: () => syncDrizzleMigrations
25
+ });
26
+ module.exports = __toCommonJS(drizzle_migrations_sync_exports);
27
+ var import_promises = require("node:fs/promises"),
28
+ import_node_path = require("node:path"),
29
+ import_node_fs = require("node:fs");
30
+ function getMigrationNumber(filename) {
31
+ const match = filename.match(/^(\d+)/);
32
+ return match && match[1] ? Number.parseInt(match[1], 10) : null;
33
+ }
34
+ async function getHighestMigrationNumber(dir) {
35
+ const files = await (0, import_promises.readdir)(dir);
36
+ let highest = -1;
37
+ for (const file of files) {
38
+ const num = getMigrationNumber(file);
39
+ num !== null && num > highest && (highest = num);
40
+ }
41
+ return highest;
42
+ }
43
+ async function renameNewDrizzleMigrations(migrationsPath, sqlFiles) {
44
+ const drizzlePattern = /^(\d{4})_[a-z]+_[a-z_]+\.sql$/,
45
+ files = await (0, import_promises.readdir)(migrationsPath),
46
+ highestNumber = await getHighestMigrationNumber(migrationsPath),
47
+ newDrizzleSqlFiles = sqlFiles.filter(file => {
48
+ if (!drizzlePattern.test(file)) return !1;
49
+ const tsFile = file.replace(".sql", ".ts");
50
+ return !files.includes(tsFile);
51
+ });
52
+ if (newDrizzleSqlFiles.length === 0) return sqlFiles;
53
+ const migrationGroups = /* @__PURE__ */new Map();
54
+ for (const file of newDrizzleSqlFiles) {
55
+ const num = file.substring(0, 4);
56
+ migrationGroups.has(num) || migrationGroups.set(num, []), migrationGroups.get(num).push(file);
57
+ }
58
+ let nextNumber = highestNumber + 1;
59
+ const renamedFiles = [];
60
+ for (const [originalNum, groupFiles] of migrationGroups) if (Number.parseInt(originalNum, 10) <= highestNumber) {
61
+ const newNumStr = nextNumber.toString().padStart(4, "0");
62
+ console.info(`Renumbering new drizzle migration ${originalNum} to ${newNumStr}`);
63
+ for (const file of groupFiles) {
64
+ const newName = file.replace(/^\d{4}/, newNumStr),
65
+ oldPath = (0, import_node_path.join)(migrationsPath, file),
66
+ newPath = (0, import_node_path.join)(migrationsPath, newName);
67
+ await (0, import_promises.rename)(oldPath, newPath), console.info(` Renamed ${file} -> ${newName}`), renamedFiles.push(newName);
68
+ }
69
+ const metaDir = (0, import_node_path.join)(migrationsPath, "meta");
70
+ if ((0, import_node_fs.existsSync)(metaDir)) {
71
+ const metaFiles = await (0, import_promises.readdir)(metaDir),
72
+ snapshotFile = `${originalNum}_snapshot.json`;
73
+ if (metaFiles.includes(snapshotFile)) {
74
+ const newSnapshotName = `${newNumStr}_snapshot.json`;
75
+ await (0, import_promises.rename)((0, import_node_path.join)(metaDir, snapshotFile), (0, import_node_path.join)(metaDir, newSnapshotName)), console.info(` Renamed meta/${snapshotFile} -> meta/${newSnapshotName}`);
76
+ }
77
+ }
78
+ nextNumber++;
79
+ } else renamedFiles.push(...groupFiles);
80
+ return sqlFiles.map(file => {
81
+ if (newDrizzleSqlFiles.indexOf(file) !== -1) {
82
+ for (const renamed of renamedFiles) if (renamed.includes(file.substring(5))) return renamed;
83
+ }
84
+ return file;
85
+ });
86
+ }
87
+ async function syncDrizzleMigrations(options) {
88
+ const {
89
+ migrationsDir
90
+ } = options;
91
+ let sqlFiles = (await (0, import_promises.readdir)(migrationsDir)).filter(file => (0, import_node_path.extname)(file) === ".sql");
92
+ console.info(`Found ${sqlFiles.length} SQL files to convert to migrations.`), sqlFiles = await renameNewDrizzleMigrations(migrationsDir, sqlFiles);
93
+ for (const sqlFile of sqlFiles) {
94
+ const tsFileName = `${(0, import_node_path.basename)(sqlFile, ".sql")}.ts`,
95
+ tsFilePath = (0, import_node_path.join)(migrationsDir, tsFileName);
96
+ if ((0, import_node_fs.existsSync)(tsFilePath)) {
97
+ const sqlStat = await (0, import_promises.stat)((0, import_node_path.join)(migrationsDir, sqlFile));
98
+ if ((await (0, import_promises.stat)(tsFilePath)).mtimeMs > sqlStat.mtimeMs) continue;
99
+ console.info(`Updating ${tsFileName} as SQL file has been modified.`);
100
+ } else console.info(`Creating ${tsFileName}`);
101
+ const migrationContent = `import type { PoolClient } from 'pg'
102
+ import sql from './${sqlFile}?raw'
103
+
104
+ export async function up(client: PoolClient) {
105
+ await client.query(sql)
106
+ }
107
+ `;
108
+ await (0, import_promises.writeFile)(tsFilePath, migrationContent), console.info(`Successfully created ${tsFileName}`);
109
+ }
110
+ console.info("Migration sync completed.");
111
+ }
@@ -0,0 +1,101 @@
1
+ #!/usr/bin/env bun
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var drizzle_migrations_sync_exports = {};
17
+ __export(drizzle_migrations_sync_exports, {
18
+ syncDrizzleMigrations: () => syncDrizzleMigrations
19
+ });
20
+ module.exports = __toCommonJS(drizzle_migrations_sync_exports);
21
+ var import_promises = require("node:fs/promises"), import_node_path = require("node:path"), import_node_fs = require("node:fs");
22
+ function getMigrationNumber(filename) {
23
+ const match = filename.match(/^(\d+)/);
24
+ return match && match[1] ? Number.parseInt(match[1], 10) : null;
25
+ }
26
+ async function getHighestMigrationNumber(dir) {
27
+ const files = await (0, import_promises.readdir)(dir);
28
+ let highest = -1;
29
+ for (const file of files) {
30
+ const num = getMigrationNumber(file);
31
+ num !== null && num > highest && (highest = num);
32
+ }
33
+ return highest;
34
+ }
35
+ async function renameNewDrizzleMigrations(migrationsPath, sqlFiles) {
36
+ const drizzlePattern = /^(\d{4})_[a-z]+_[a-z_]+\.sql$/, files = await (0, import_promises.readdir)(migrationsPath), highestNumber = await getHighestMigrationNumber(migrationsPath), newDrizzleSqlFiles = sqlFiles.filter((file) => {
37
+ if (!drizzlePattern.test(file)) return !1;
38
+ const tsFile = file.replace(".sql", ".ts");
39
+ return !files.includes(tsFile);
40
+ });
41
+ if (newDrizzleSqlFiles.length === 0) return sqlFiles;
42
+ const migrationGroups = /* @__PURE__ */ new Map();
43
+ for (const file of newDrizzleSqlFiles) {
44
+ const num = file.substring(0, 4);
45
+ migrationGroups.has(num) || migrationGroups.set(num, []), migrationGroups.get(num).push(file);
46
+ }
47
+ let nextNumber = highestNumber + 1;
48
+ const renamedFiles = [];
49
+ for (const [originalNum, groupFiles] of migrationGroups)
50
+ if (Number.parseInt(originalNum, 10) <= highestNumber) {
51
+ const newNumStr = nextNumber.toString().padStart(4, "0");
52
+ console.info(`Renumbering new drizzle migration ${originalNum} to ${newNumStr}`);
53
+ for (const file of groupFiles) {
54
+ const newName = file.replace(/^\d{4}/, newNumStr), oldPath = (0, import_node_path.join)(migrationsPath, file), newPath = (0, import_node_path.join)(migrationsPath, newName);
55
+ await (0, import_promises.rename)(oldPath, newPath), console.info(` Renamed ${file} -> ${newName}`), renamedFiles.push(newName);
56
+ }
57
+ const metaDir = (0, import_node_path.join)(migrationsPath, "meta");
58
+ if ((0, import_node_fs.existsSync)(metaDir)) {
59
+ const metaFiles = await (0, import_promises.readdir)(metaDir), snapshotFile = `${originalNum}_snapshot.json`;
60
+ if (metaFiles.includes(snapshotFile)) {
61
+ const newSnapshotName = `${newNumStr}_snapshot.json`;
62
+ await (0, import_promises.rename)((0, import_node_path.join)(metaDir, snapshotFile), (0, import_node_path.join)(metaDir, newSnapshotName)), console.info(` Renamed meta/${snapshotFile} -> meta/${newSnapshotName}`);
63
+ }
64
+ }
65
+ nextNumber++;
66
+ } else
67
+ renamedFiles.push(...groupFiles);
68
+ return sqlFiles.map((file) => {
69
+ if (newDrizzleSqlFiles.indexOf(file) !== -1) {
70
+ for (const renamed of renamedFiles)
71
+ if (renamed.includes(file.substring(5)))
72
+ return renamed;
73
+ }
74
+ return file;
75
+ });
76
+ }
77
+ async function syncDrizzleMigrations(options) {
78
+ const { migrationsDir } = options;
79
+ let sqlFiles = (await (0, import_promises.readdir)(migrationsDir)).filter((file) => (0, import_node_path.extname)(file) === ".sql");
80
+ console.info(`Found ${sqlFiles.length} SQL files to convert to migrations.`), sqlFiles = await renameNewDrizzleMigrations(migrationsDir, sqlFiles);
81
+ for (const sqlFile of sqlFiles) {
82
+ const tsFileName = `${(0, import_node_path.basename)(sqlFile, ".sql")}.ts`, tsFilePath = (0, import_node_path.join)(migrationsDir, tsFileName);
83
+ if ((0, import_node_fs.existsSync)(tsFilePath)) {
84
+ const sqlStat = await (0, import_promises.stat)((0, import_node_path.join)(migrationsDir, sqlFile));
85
+ if ((await (0, import_promises.stat)(tsFilePath)).mtimeMs > sqlStat.mtimeMs)
86
+ continue;
87
+ console.info(`Updating ${tsFileName} as SQL file has been modified.`);
88
+ } else
89
+ console.info(`Creating ${tsFileName}`);
90
+ const migrationContent = `import type { PoolClient } from 'pg'
91
+ import sql from './${sqlFile}?raw'
92
+
93
+ export async function up(client: PoolClient) {
94
+ await client.query(sql)
95
+ }
96
+ `;
97
+ await (0, import_promises.writeFile)(tsFilePath, migrationContent), console.info(`Successfully created ${tsFileName}`);
98
+ }
99
+ console.info("Migration sync completed.");
100
+ }
101
+ //# sourceMappingURL=drizzle-migrations-sync.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/scripts/drizzle-migrations-sync.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,209 @@
1
+ #!/usr/bin/env bun
2
+ "use strict";
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: !0
12
+ });
13
+ },
14
+ __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ return to;
20
+ };
21
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
+ value: !0
23
+ }), mod);
24
+ var drizzle_migrations_sync_exports = {};
25
+ __export(drizzle_migrations_sync_exports, {
26
+ syncDrizzleMigrations: () => syncDrizzleMigrations
27
+ });
28
+ module.exports = __toCommonJS(drizzle_migrations_sync_exports);
29
+ var import_promises = require("fs/promises"),
30
+ import_path = require("path"),
31
+ import_fs = require("fs");
32
+ function getMigrationNumber(filename) {
33
+ var match = filename.match(/^(\d+)/);
34
+ return match && match[1] ? Number.parseInt(match[1], 10) : null;
35
+ }
36
+ async function getHighestMigrationNumber(dir) {
37
+ var files = await (0, import_promises.readdir)(dir),
38
+ highest = -1,
39
+ _iteratorNormalCompletion = !0,
40
+ _didIteratorError = !1,
41
+ _iteratorError = void 0;
42
+ try {
43
+ for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
44
+ var file = _step.value,
45
+ num = getMigrationNumber(file);
46
+ num !== null && num > highest && (highest = num);
47
+ }
48
+ } catch (err) {
49
+ _didIteratorError = !0, _iteratorError = err;
50
+ } finally {
51
+ try {
52
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
53
+ } finally {
54
+ if (_didIteratorError) throw _iteratorError;
55
+ }
56
+ }
57
+ return highest;
58
+ }
59
+ async function renameNewDrizzleMigrations(migrationsPath, sqlFiles) {
60
+ var drizzlePattern = /^(\d{4})_[a-z]+_[a-z_]+\.sql$/,
61
+ files = await (0, import_promises.readdir)(migrationsPath),
62
+ highestNumber = await getHighestMigrationNumber(migrationsPath),
63
+ newDrizzleSqlFiles = sqlFiles.filter(function (file2) {
64
+ if (!drizzlePattern.test(file2)) return !1;
65
+ var tsFile = file2.replace(".sql", ".ts");
66
+ return !files.includes(tsFile);
67
+ });
68
+ if (newDrizzleSqlFiles.length === 0) return sqlFiles;
69
+ var migrationGroups = /* @__PURE__ */new Map(),
70
+ _iteratorNormalCompletion = !0,
71
+ _didIteratorError = !1,
72
+ _iteratorError = void 0;
73
+ try {
74
+ for (var _iterator = newDrizzleSqlFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
75
+ var file = _step.value,
76
+ num = file.substring(0, 4);
77
+ migrationGroups.has(num) || migrationGroups.set(num, []), migrationGroups.get(num).push(file);
78
+ }
79
+ } catch (err) {
80
+ _didIteratorError = !0, _iteratorError = err;
81
+ } finally {
82
+ try {
83
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
84
+ } finally {
85
+ if (_didIteratorError) throw _iteratorError;
86
+ }
87
+ }
88
+ var nextNumber = highestNumber + 1,
89
+ renamedFiles = [],
90
+ _iteratorNormalCompletion1 = !0,
91
+ _didIteratorError1 = !1,
92
+ _iteratorError1 = void 0;
93
+ try {
94
+ for (var _iterator1 = migrationGroups[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
95
+ var [originalNum, groupFiles] = _step1.value,
96
+ drizzleNum = Number.parseInt(originalNum, 10);
97
+ if (drizzleNum <= highestNumber) {
98
+ var newNumStr = nextNumber.toString().padStart(4, "0");
99
+ console.info(`Renumbering new drizzle migration ${originalNum} to ${newNumStr}`);
100
+ var _iteratorNormalCompletion2 = !0,
101
+ _didIteratorError2 = !1,
102
+ _iteratorError2 = void 0;
103
+ try {
104
+ for (var _iterator2 = groupFiles[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
105
+ var file1 = _step2.value,
106
+ newName = file1.replace(/^\d{4}/, newNumStr),
107
+ oldPath = (0, import_path.join)(migrationsPath, file1),
108
+ newPath = (0, import_path.join)(migrationsPath, newName);
109
+ await (0, import_promises.rename)(oldPath, newPath), console.info(` Renamed ${file1} -> ${newName}`), renamedFiles.push(newName);
110
+ }
111
+ } catch (err) {
112
+ _didIteratorError2 = !0, _iteratorError2 = err;
113
+ } finally {
114
+ try {
115
+ !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
116
+ } finally {
117
+ if (_didIteratorError2) throw _iteratorError2;
118
+ }
119
+ }
120
+ var metaDir = (0, import_path.join)(migrationsPath, "meta");
121
+ if ((0, import_fs.existsSync)(metaDir)) {
122
+ var metaFiles = await (0, import_promises.readdir)(metaDir),
123
+ snapshotFile = `${originalNum}_snapshot.json`;
124
+ if (metaFiles.includes(snapshotFile)) {
125
+ var newSnapshotName = `${newNumStr}_snapshot.json`;
126
+ await (0, import_promises.rename)((0, import_path.join)(metaDir, snapshotFile), (0, import_path.join)(metaDir, newSnapshotName)), console.info(` Renamed meta/${snapshotFile} -> meta/${newSnapshotName}`);
127
+ }
128
+ }
129
+ nextNumber++;
130
+ } else renamedFiles.push(...groupFiles);
131
+ }
132
+ } catch (err) {
133
+ _didIteratorError1 = !0, _iteratorError1 = err;
134
+ } finally {
135
+ try {
136
+ !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
137
+ } finally {
138
+ if (_didIteratorError1) throw _iteratorError1;
139
+ }
140
+ }
141
+ return sqlFiles.map(function (file2) {
142
+ var idx = newDrizzleSqlFiles.indexOf(file2);
143
+ if (idx !== -1) {
144
+ var _iteratorNormalCompletion3 = !0,
145
+ _didIteratorError3 = !1,
146
+ _iteratorError3 = void 0;
147
+ try {
148
+ for (var _iterator3 = renamedFiles[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = !0) {
149
+ var renamed = _step3.value;
150
+ if (renamed.includes(file2.substring(5))) return renamed;
151
+ }
152
+ } catch (err) {
153
+ _didIteratorError3 = !0, _iteratorError3 = err;
154
+ } finally {
155
+ try {
156
+ !_iteratorNormalCompletion3 && _iterator3.return != null && _iterator3.return();
157
+ } finally {
158
+ if (_didIteratorError3) throw _iteratorError3;
159
+ }
160
+ }
161
+ }
162
+ return file2;
163
+ });
164
+ }
165
+ async function syncDrizzleMigrations(options) {
166
+ var {
167
+ migrationsDir
168
+ } = options,
169
+ files = await (0, import_promises.readdir)(migrationsDir),
170
+ sqlFiles = files.filter(function (file) {
171
+ return (0, import_path.extname)(file) === ".sql";
172
+ });
173
+ console.info(`Found ${sqlFiles.length} SQL files to convert to migrations.`), sqlFiles = await renameNewDrizzleMigrations(migrationsDir, sqlFiles);
174
+ var _iteratorNormalCompletion = !0,
175
+ _didIteratorError = !1,
176
+ _iteratorError = void 0;
177
+ try {
178
+ for (var _iterator = sqlFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
179
+ var sqlFile = _step.value,
180
+ baseName = (0, import_path.basename)(sqlFile, ".sql"),
181
+ tsFileName = `${baseName}.ts`,
182
+ tsFilePath = (0, import_path.join)(migrationsDir, tsFileName);
183
+ if ((0, import_fs.existsSync)(tsFilePath)) {
184
+ var sqlStat = await (0, import_promises.stat)((0, import_path.join)(migrationsDir, sqlFile)),
185
+ tsStat = await (0, import_promises.stat)(tsFilePath);
186
+ if (tsStat.mtimeMs > sqlStat.mtimeMs) continue;
187
+ console.info(`Updating ${tsFileName} as SQL file has been modified.`);
188
+ } else console.info(`Creating ${tsFileName}`);
189
+ var migrationContent = `import type { PoolClient } from 'pg'
190
+ import sql from './${sqlFile}?raw'
191
+
192
+ export async function up(client: PoolClient) {
193
+ await client.query(sql)
194
+ }
195
+ `;
196
+ await (0, import_promises.writeFile)(tsFilePath, migrationContent), console.info(`Successfully created ${tsFileName}`);
197
+ }
198
+ } catch (err) {
199
+ _didIteratorError = !0, _iteratorError = err;
200
+ } finally {
201
+ try {
202
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
203
+ } finally {
204
+ if (_didIteratorError) throw _iteratorError;
205
+ }
206
+ }
207
+ console.info("Migration sync completed.");
208
+ }
209
+ //# sourceMappingURL=drizzle-migrations-sync.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","drizzle_migrations_sync_exports","__export","syncDrizzleMigrations","module","exports","import_promises","require","import_path","import_fs","getMigrationNumber","filename","match","Number","parseInt","getHighestMigrationNumber","dir","files","readdir","highest","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","file","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","join","newPath","rename","metaDir","existsSync","metaFiles","snapshotFile","newSnapshotName"],"sources":["../../../src/scripts/drizzle-migrations-sync.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var migration_add_exports = {};
22
+ __export(migration_add_exports, {
23
+ addMigration: () => addMigration
24
+ });
25
+ module.exports = __toCommonJS(migration_add_exports);
26
+ var import_node_path = require("node:path"),
27
+ import_node_fs = require("node:fs");
28
+ const commonWords = ["sapphire", "emerald", "ruby", "amber", "topaz", "onyx", "pearl"];
29
+ function addMigration(options) {
30
+ const {
31
+ migrationsDir,
32
+ name
33
+ } = options,
34
+ migrationName = name || commonWords[Math.floor(Math.random() * commonWords.length)],
35
+ files = (0, import_node_fs.readdirSync)(migrationsDir),
36
+ migrationRegex = /^(\d+)[-_].*\.(ts|sql)$/;
37
+ let maxNumber = 0;
38
+ for (const file of files) {
39
+ const match = file.match(migrationRegex);
40
+ if (match?.[1]) {
41
+ const num = Number.parseInt(match[1], 10);
42
+ !Number.isNaN(num) && num > maxNumber && (maxNumber = num);
43
+ }
44
+ }
45
+ const newFilename = `${(maxNumber + 1).toString().padStart(4, "0")}-${migrationName}.ts`,
46
+ newFilePath = (0, import_node_path.join)(migrationsDir, newFilename);
47
+ return (0, import_node_fs.writeFileSync)(newFilePath, `import type { PoolClient } from 'pg'
48
+
49
+ export async function up(client: PoolClient) {
50
+ // implementation for applying this migration
51
+ }
52
+ `), console.info(`Created custom migration: ${newFilePath}`), console.info("For Drizzle schema migrations, run 'drizzle-kit generate' instead"), newFilePath;
53
+ }
@@ -0,0 +1,40 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var migration_add_exports = {};
16
+ __export(migration_add_exports, {
17
+ addMigration: () => addMigration
18
+ });
19
+ module.exports = __toCommonJS(migration_add_exports);
20
+ var import_node_path = require("node:path"), import_node_fs = require("node:fs");
21
+ const commonWords = ["sapphire", "emerald", "ruby", "amber", "topaz", "onyx", "pearl"];
22
+ function addMigration(options) {
23
+ const { migrationsDir, name } = options, migrationName = name || commonWords[Math.floor(Math.random() * commonWords.length)], files = (0, import_node_fs.readdirSync)(migrationsDir), migrationRegex = /^(\d+)[-_].*\.(ts|sql)$/;
24
+ let maxNumber = 0;
25
+ for (const file of files) {
26
+ const match = file.match(migrationRegex);
27
+ if (match?.[1]) {
28
+ const num = Number.parseInt(match[1], 10);
29
+ !Number.isNaN(num) && num > maxNumber && (maxNumber = num);
30
+ }
31
+ }
32
+ const newFilename = `${(maxNumber + 1).toString().padStart(4, "0")}-${migrationName}.ts`, newFilePath = (0, import_node_path.join)(migrationsDir, newFilename);
33
+ return (0, import_node_fs.writeFileSync)(newFilePath, `import type { PoolClient } from 'pg'
34
+
35
+ export async function up(client: PoolClient) {
36
+ // implementation for applying this migration
37
+ }
38
+ `), console.info(`Created custom migration: ${newFilePath}`), console.info("For Drizzle schema migrations, run 'drizzle-kit generate' instead"), newFilePath;
39
+ }
40
+ //# sourceMappingURL=migration-add.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/scripts/migration-add.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAqB,sBACrB,iBAA2C;AAO3C,MAAM,cAAc,CAAC,YAAY,WAAW,QAAQ,SAAS,SAAS,QAAQ,OAAO;AAE9E,SAAS,aAAa,SAAsC;AACjE,QAAM,EAAE,eAAe,KAAK,IAAI,SAG1B,gBACJ,QAAQ,YAAY,KAAK,MAAM,KAAK,OAAO,IAAI,YAAY,MAAM,CAAC,GAG9D,YAAQ,4BAAY,aAAa,GAGjC,iBAAiB;AACvB,MAAI,YAAY;AAChB,aAAW,QAAQ,OAAO;AACxB,UAAM,QAAQ,KAAK,MAAM,cAAc;AACvC,QAAI,QAAQ,CAAC,GAAG;AACd,YAAM,MAAM,OAAO,SAAS,MAAM,CAAC,GAAG,EAAE;AACxC,MAAI,CAAC,OAAO,MAAM,GAAG,KAAK,MAAM,cAC9B,YAAY;AAAA,IAEhB;AAAA,EACF;AAIA,QAAM,cAAc,IADA,YAAY,GAAG,SAAS,EAAE,SAAS,GAAG,GAAG,CAC5B,IAAI,aAAa,OAC5C,kBAAc,uBAAK,eAAe,WAAW;AAWnD,2CAAc,aARU;AAAA;AAAA;AAAA;AAAA;AAAA,CAQkB,GAE1C,QAAQ,KAAK,6BAA6B,WAAW,EAAE,GACvD,QAAQ,KAAK,mEAAmE,GAEzE;AACT;",
5
+ "names": []
6
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: !0
22
+ }), mod);
23
+ var migration_add_exports = {};
24
+ __export(migration_add_exports, {
25
+ addMigration: () => addMigration
26
+ });
27
+ module.exports = __toCommonJS(migration_add_exports);
28
+ var import_path = require("path"),
29
+ import_fs = require("fs"),
30
+ commonWords = ["sapphire", "emerald", "ruby", "amber", "topaz", "onyx", "pearl"];
31
+ function addMigration(options) {
32
+ var {
33
+ migrationsDir,
34
+ name
35
+ } = options,
36
+ migrationName = name || commonWords[Math.floor(Math.random() * commonWords.length)],
37
+ files = (0, import_fs.readdirSync)(migrationsDir),
38
+ migrationRegex = /^(\d+)[-_].*\.(ts|sql)$/,
39
+ maxNumber = 0,
40
+ _iteratorNormalCompletion = !0,
41
+ _didIteratorError = !1,
42
+ _iteratorError = void 0;
43
+ try {
44
+ for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
45
+ var file = _step.value,
46
+ match = file.match(migrationRegex);
47
+ if (match?.[1]) {
48
+ var num = Number.parseInt(match[1], 10);
49
+ !Number.isNaN(num) && num > maxNumber && (maxNumber = num);
50
+ }
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 = (maxNumber + 1).toString().padStart(4, "0"),
62
+ newFilename = `${nextNumber}-${migrationName}.ts`,
63
+ newFilePath = (0, import_path.join)(migrationsDir, newFilename),
64
+ templateContent = `import type { PoolClient } from 'pg'
65
+
66
+ export async function up(client: PoolClient) {
67
+ // implementation for applying this migration
68
+ }
69
+ `;
70
+ return (0, import_fs.writeFileSync)(newFilePath, templateContent), console.info(`Created custom migration: ${newFilePath}`), console.info("For Drizzle schema migrations, run 'drizzle-kit generate' instead"), newFilePath;
71
+ }
72
+ //# sourceMappingURL=migration-add.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","migration_add_exports","__export","addMigration","module","exports","import_path","require","import_fs","commonWords","options","migrationsDir","name","migrationName","Math","floor","random","length","files","readdirSync","migrationRegex","maxNumber","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","file","match","num","Number","parseInt","isNaN"],"sources":["../../../src/scripts/migration-add.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,YAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAqB,CAAAK,qBACrB;AAOA,IAAAK,WAAM,GAAAC,OAAe,QAAY;EAAAC,SAAW,GAAAD,OAAQ;EAASE,WAAS,IAE/D,UAAS,EACd,SAAQ,EAWR,MAAI,EACJ,SACE,SACA,MAAI,EACF,QACA;AACc,SAEhBN,aAAAO,OAAA;EACF;MAAAC,aAAA;MAAAC;IAAA,IAAAF,OAAA;IAAAG,aAAA,GAAAD,IAAA,IAAAH,WAAA,CAAAK,IAAA,CAAAC,KAAA,CAAAD,IAAA,CAAAE,MAAA,KAAAP,WAAA,CAAAQ,MAAA;IAAAC,KAAA,OAAAV,SAAA,CAAAW,WAAA,EAAAR,aAAA;IAAAS,cAAA;IAAAC,SAAA;IAAAC,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EAIA;IAYA,SAAAC,SAAA,GAAAP,KAAA,CAAAQ,MAAA,CAAAC,QAAc,KAAAC,KARU,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MAAA,IAAAS,IAAA,GAAAH,KAAA,CAAA5B,KAAA;QAAAgC,KAAA,GAAAD,IAAA,CAAAC,KAAA,CAAAZ,cAAA;MAAA,IAAAY,KAAA;QAAA,IAAAC,GAAA,GAAAC,MAAA,CAAAC,QAAA,CAAAH,KAAA;QAAA,CAAAE,MAAA,CAAAE,KAAA,CAAAH,GAAA,KAAAA,GAAA,GAAAZ,SAAA,KAAAA,SAAA,GAAAY,GAAA;MAUxB;IAIF","ignoreList":[]}