neoorm 0.3.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/README.md +12 -6
  2. package/dist/bin/neoorm.js +45 -15
  3. package/dist/bin/neoorm.js.map +1 -1
  4. package/dist/codegen/diff-manifest.d.ts +7 -7
  5. package/dist/codegen/diff-manifest.d.ts.map +1 -1
  6. package/dist/codegen/diff-manifest.js +67 -54
  7. package/dist/codegen/diff-manifest.js.map +1 -1
  8. package/dist/codegen/generate-summary.js.map +1 -1
  9. package/dist/codegen/generate.d.ts.map +1 -1
  10. package/dist/codegen/generate.js +13 -6
  11. package/dist/codegen/generate.js.map +1 -1
  12. package/dist/codegen/manifest-relations.d.ts.map +1 -1
  13. package/dist/codegen/manifest-relations.js +21 -0
  14. package/dist/codegen/manifest-relations.js.map +1 -1
  15. package/dist/codegen/schema-to-manifest.js.map +1 -1
  16. package/dist/config.d.ts +1 -1
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +9 -14
  19. package/dist/config.js.map +1 -1
  20. package/dist/dialect/postgres.d.ts +3 -4
  21. package/dist/dialect/postgres.d.ts.map +1 -1
  22. package/dist/dialect/postgres.js +19 -11
  23. package/dist/dialect/postgres.js.map +1 -1
  24. package/dist/dialect/shared.d.ts +6 -0
  25. package/dist/dialect/shared.d.ts.map +1 -0
  26. package/dist/dialect/shared.js +16 -0
  27. package/dist/dialect/shared.js.map +1 -0
  28. package/dist/dialect/sqlite.d.ts +4 -0
  29. package/dist/dialect/sqlite.d.ts.map +1 -0
  30. package/dist/dialect/sqlite.js +276 -0
  31. package/dist/dialect/sqlite.js.map +1 -0
  32. package/dist/dialect/types.d.ts +7 -0
  33. package/dist/dialect/types.d.ts.map +1 -1
  34. package/dist/init/scaffold.js.map +1 -1
  35. package/dist/introspect/pull.d.ts +3 -2
  36. package/dist/introspect/pull.d.ts.map +1 -1
  37. package/dist/introspect/pull.js +124 -13
  38. package/dist/introspect/pull.js.map +1 -1
  39. package/dist/introspect/queries.d.ts +9 -9
  40. package/dist/introspect/queries.d.ts.map +1 -1
  41. package/dist/introspect/queries.js +16 -16
  42. package/dist/introspect/queries.js.map +1 -1
  43. package/dist/introspect/sqlite/to-manifest.d.ts +4 -0
  44. package/dist/introspect/sqlite/to-manifest.d.ts.map +1 -0
  45. package/dist/introspect/sqlite/to-manifest.js +166 -0
  46. package/dist/introspect/sqlite/to-manifest.js.map +1 -0
  47. package/dist/introspect/to-manifest.d.ts +2 -2
  48. package/dist/introspect/to-manifest.d.ts.map +1 -1
  49. package/dist/introspect/to-manifest.js +20 -12
  50. package/dist/introspect/to-manifest.js.map +1 -1
  51. package/dist/migrate/runner.d.ts +14 -14
  52. package/dist/migrate/runner.d.ts.map +1 -1
  53. package/dist/migrate/runner.js +83 -88
  54. package/dist/migrate/runner.js.map +1 -1
  55. package/dist/plugins/builtin.d.ts +1 -0
  56. package/dist/plugins/builtin.d.ts.map +1 -1
  57. package/dist/plugins/builtin.js +96 -6
  58. package/dist/plugins/builtin.js.map +1 -1
  59. package/dist/plugins/json/operators.d.ts.map +1 -1
  60. package/dist/plugins/json/operators.js +14 -5
  61. package/dist/plugins/json/operators.js.map +1 -1
  62. package/dist/plugins/types.d.ts +4 -4
  63. package/dist/plugins/types.d.ts.map +1 -1
  64. package/dist/runtime/client.d.ts +21 -4
  65. package/dist/runtime/client.d.ts.map +1 -1
  66. package/dist/runtime/client.js +61 -9
  67. package/dist/runtime/client.js.map +1 -1
  68. package/dist/runtime/driver.d.ts +28 -0
  69. package/dist/runtime/driver.d.ts.map +1 -0
  70. package/dist/runtime/driver.js +265 -0
  71. package/dist/runtime/driver.js.map +1 -0
  72. package/dist/runtime/errors.d.ts.map +1 -1
  73. package/dist/runtime/executor.d.ts +6 -3
  74. package/dist/runtime/executor.d.ts.map +1 -1
  75. package/dist/runtime/executor.js +60 -42
  76. package/dist/runtime/executor.js.map +1 -1
  77. package/dist/runtime/query/aggregate.d.ts.map +1 -1
  78. package/dist/runtime/query/aggregate.js +4 -3
  79. package/dist/runtime/query/aggregate.js.map +1 -1
  80. package/dist/runtime/query/compile.d.ts +37 -24
  81. package/dist/runtime/query/compile.d.ts.map +1 -1
  82. package/dist/runtime/query/compile.js +388 -95
  83. package/dist/runtime/query/compile.js.map +1 -1
  84. package/dist/runtime/query/count.d.ts.map +1 -1
  85. package/dist/runtime/query/count.js +7 -3
  86. package/dist/runtime/query/count.js.map +1 -1
  87. package/dist/runtime/query/create.d.ts +5 -0
  88. package/dist/runtime/query/create.d.ts.map +1 -1
  89. package/dist/runtime/query/create.js +63 -23
  90. package/dist/runtime/query/create.js.map +1 -1
  91. package/dist/runtime/query/cursor.d.ts +4 -3
  92. package/dist/runtime/query/cursor.d.ts.map +1 -1
  93. package/dist/runtime/query/cursor.js +10 -8
  94. package/dist/runtime/query/cursor.js.map +1 -1
  95. package/dist/runtime/query/delete.d.ts +1 -0
  96. package/dist/runtime/query/delete.d.ts.map +1 -1
  97. package/dist/runtime/query/delete.js +17 -6
  98. package/dist/runtime/query/delete.js.map +1 -1
  99. package/dist/runtime/query/execute.d.ts +4 -3
  100. package/dist/runtime/query/execute.d.ts.map +1 -1
  101. package/dist/runtime/query/execute.js +5 -4
  102. package/dist/runtime/query/execute.js.map +1 -1
  103. package/dist/runtime/query/find-or-create.d.ts.map +1 -1
  104. package/dist/runtime/query/find-or-create.js +57 -8
  105. package/dist/runtime/query/find-or-create.js.map +1 -1
  106. package/dist/runtime/query/find.d.ts +12 -3
  107. package/dist/runtime/query/find.d.ts.map +1 -1
  108. package/dist/runtime/query/find.js +159 -232
  109. package/dist/runtime/query/find.js.map +1 -1
  110. package/dist/runtime/query/manifest-lookup.d.ts +3 -2
  111. package/dist/runtime/query/manifest-lookup.d.ts.map +1 -1
  112. package/dist/runtime/query/manifest-lookup.js +5 -4
  113. package/dist/runtime/query/manifest-lookup.js.map +1 -1
  114. package/dist/runtime/query/paginate.d.ts.map +1 -1
  115. package/dist/runtime/query/paginate.js +16 -11
  116. package/dist/runtime/query/paginate.js.map +1 -1
  117. package/dist/runtime/query/primary-key.d.ts +8 -6
  118. package/dist/runtime/query/primary-key.d.ts.map +1 -1
  119. package/dist/runtime/query/primary-key.js +45 -17
  120. package/dist/runtime/query/primary-key.js.map +1 -1
  121. package/dist/runtime/query/relation-planner.d.ts +74 -0
  122. package/dist/runtime/query/relation-planner.d.ts.map +1 -0
  123. package/dist/runtime/query/relation-planner.js +648 -0
  124. package/dist/runtime/query/relation-planner.js.map +1 -0
  125. package/dist/runtime/query/relation-writes.d.ts +2 -1
  126. package/dist/runtime/query/relation-writes.d.ts.map +1 -1
  127. package/dist/runtime/query/relation-writes.js +33 -22
  128. package/dist/runtime/query/relation-writes.js.map +1 -1
  129. package/dist/runtime/query/table-index.d.ts +51 -3
  130. package/dist/runtime/query/table-index.d.ts.map +1 -1
  131. package/dist/runtime/query/table-index.js +119 -4
  132. package/dist/runtime/query/table-index.js.map +1 -1
  133. package/dist/runtime/query/unique.d.ts +3 -2
  134. package/dist/runtime/query/unique.d.ts.map +1 -1
  135. package/dist/runtime/query/unique.js +7 -6
  136. package/dist/runtime/query/unique.js.map +1 -1
  137. package/dist/runtime/query/update.d.ts +2 -0
  138. package/dist/runtime/query/update.d.ts.map +1 -1
  139. package/dist/runtime/query/update.js +98 -30
  140. package/dist/runtime/query/update.js.map +1 -1
  141. package/dist/runtime/query/updated-at.d.ts +6 -4
  142. package/dist/runtime/query/updated-at.d.ts.map +1 -1
  143. package/dist/runtime/query/updated-at.js +23 -9
  144. package/dist/runtime/query/updated-at.js.map +1 -1
  145. package/dist/runtime/query/upsert.d.ts.map +1 -1
  146. package/dist/runtime/query/upsert.js +11 -9
  147. package/dist/runtime/query/upsert.js.map +1 -1
  148. package/dist/runtime/sqlite-open.d.ts +3 -0
  149. package/dist/runtime/sqlite-open.d.ts.map +1 -0
  150. package/dist/runtime/sqlite-open.js +22 -0
  151. package/dist/runtime/sqlite-open.js.map +1 -0
  152. package/dist/runtime/transaction.d.ts +5 -0
  153. package/dist/runtime/transaction.d.ts.map +1 -0
  154. package/dist/runtime/transaction.js +26 -0
  155. package/dist/runtime/transaction.js.map +1 -0
  156. package/dist/runtime/types.d.ts +1 -0
  157. package/dist/runtime/types.d.ts.map +1 -1
  158. package/dist/schema/column.d.ts +1 -1
  159. package/dist/schema/column.d.ts.map +1 -1
  160. package/dist/schema/column.js +1 -1
  161. package/dist/schema/column.js.map +1 -1
  162. package/dist/schema/define-schema.js.map +1 -1
  163. package/dist/schema/index.d.ts +1 -1
  164. package/dist/schema/index.d.ts.map +1 -1
  165. package/dist/schema/index.js +1 -1
  166. package/dist/schema/index.js.map +1 -1
  167. package/dist/schema/types.d.ts +3 -0
  168. package/dist/schema/types.d.ts.map +1 -1
  169. package/dist/sql/builder.d.ts.map +1 -1
  170. package/dist/sql/template.d.ts +7 -0
  171. package/dist/sql/template.d.ts.map +1 -1
  172. package/dist/sql/template.js +89 -3
  173. package/dist/sql/template.js.map +1 -1
  174. package/dist/utils/case.d.ts +4 -0
  175. package/dist/utils/case.d.ts.map +1 -1
  176. package/dist/utils/case.js +11 -0
  177. package/dist/utils/case.js.map +1 -1
  178. package/dist/utils/load-ts.d.ts +2 -0
  179. package/dist/utils/load-ts.d.ts.map +1 -0
  180. package/dist/utils/load-ts.js +11 -0
  181. package/dist/utils/load-ts.js.map +1 -0
  182. package/dist/utils/uuid.js.map +1 -1
  183. package/package.json +21 -4
@@ -1,32 +1,33 @@
1
1
  import { resolvePgSchemaName } from "../dialect/postgres.js";
2
2
  import { findIntrospectColumnType } from "../plugins/registry.js";
3
- import { resolveSqlColumnName, toCamelCase } from "../utils/case.js";
3
+ import { escapeTsString, resolveSqlColumnName, sanitizeTsIdentifier, toCamelCase, } from "../utils/case.js";
4
4
  import { queryColumns, queryForeignKeys, queryTables } from "./queries.js";
5
- export async function introspectPostgres(pool, options = {}) {
5
+ import { introspectSqliteToManifest } from "./sqlite/to-manifest.js";
6
+ export async function introspectPostgres(client, options = {}) {
6
7
  const schema = resolvePgSchemaName(options.schema);
7
- const tables = await queryTables(pool, schema);
8
+ const tables = await queryTables(client, schema);
8
9
  const pluginImports = new Set();
9
10
  const pluginColumnImports = new Set();
10
11
  let needsPostgisSideEffect = false;
11
12
  const tableBlocks = [];
12
13
  for (const { table_name } of tables) {
13
- const cols = await queryColumns(pool, table_name, schema);
14
- const fks = await queryForeignKeys(pool, table_name, schema);
14
+ const cols = await queryColumns(client, table_name, schema);
15
+ const fks = await queryForeignKeys(client, table_name, schema);
15
16
  const fkMap = new Map(fks.map((r) => [r.column_name, r]));
16
17
  const columnNaming = inferColumnNaming(cols.map((col) => col.column_name));
17
- const accessor = toCamelCase(table_name.endsWith("s") ? table_name : `${table_name}s`);
18
+ const accessor = sanitizeTsIdentifier(toCamelCase(table_name.endsWith("s") ? table_name : `${table_name}s`));
18
19
  const blockLines = [
19
- ` ${accessor}: table("${table_name}", {`,
20
+ ` ${accessor}: table("${escapeTsString(table_name)}", {`,
20
21
  ];
21
22
  for (const col of cols) {
22
- const tsName = toCamelCase(col.column_name);
23
+ const tsName = sanitizeTsIdentifier(toCamelCase(col.column_name));
23
24
  const fk = fkMap.get(col.column_name);
24
25
  if (fk) {
25
26
  const relName = tsName.replace(/Id$/, "");
26
27
  let def = [
27
- ` ${tsName}: fk("${fk.foreign_table_name}.${fk.foreign_column_name}", {`,
28
- ` as: "${relName}",`,
29
- ` inverse: "${accessor}",`,
28
+ ` ${tsName}: fk("${escapeTsString(fk.foreign_table_name)}.${escapeTsString(fk.foreign_column_name)}", {`,
29
+ ` as: "${escapeTsString(relName)}",`,
30
+ ` inverse: "${escapeTsString(accessor)}",`,
30
31
  ` nullable: ${col.is_nullable === "YES"},`,
31
32
  ` })`,
32
33
  ].join("\n");
@@ -124,6 +125,115 @@ export async function introspectPostgres(pool, options = {}) {
124
125
  lines.push(`});`, ``);
125
126
  return lines.join("\n");
126
127
  }
128
+ function sqliteColumnBuilder(col) {
129
+ switch (col.kind) {
130
+ case "id":
131
+ return "id";
132
+ case "serial":
133
+ return "serial";
134
+ case "int":
135
+ return "int";
136
+ case "bool":
137
+ return "bool";
138
+ case "timestamp":
139
+ return "timestamp";
140
+ case "decimal":
141
+ return "decimal";
142
+ case "jsonb":
143
+ return "jsonb";
144
+ case "bytea":
145
+ return "bytea";
146
+ case "text":
147
+ case "citext":
148
+ case "enum":
149
+ case "uuid":
150
+ default:
151
+ return "text";
152
+ }
153
+ }
154
+ function sqliteColumnDef(col, table) {
155
+ if (col.kind === "fk" && col.fkTarget) {
156
+ const relName = col.tsName.replace(/Id$/, "");
157
+ let def = `fk("${col.fkTarget}", {\n as: "${relName}",\n inverse: "${table.accessor}",\n nullable: ${col.nullable},`;
158
+ if (col.onDelete) {
159
+ def += `\n onDelete: "${col.onDelete}",`;
160
+ }
161
+ def += `\n })`;
162
+ return `${col.tsName}: ${def},`;
163
+ }
164
+ let def = `${col.tsName}: ${sqliteColumnBuilder(col)}()`;
165
+ if (col.kind !== "id" && col.primary && table.primaryKey.length === 1) {
166
+ def += ".primary()";
167
+ }
168
+ if (col.defaultNow) {
169
+ def += ".defaultNow()";
170
+ }
171
+ if (col.unique) {
172
+ def += ".unique()";
173
+ }
174
+ if (!col.nullable && !col.primary) {
175
+ def += ".notNull()";
176
+ }
177
+ return `${def},`;
178
+ }
179
+ export async function introspectSqlite(client) {
180
+ const manifest = await introspectSqliteToManifest(client);
181
+ const tableBlocks = [];
182
+ for (const table of Object.values(manifest.tables)) {
183
+ const tsNameBySql = new Map(table.columns.map((col) => [col.sqlName, col.tsName]));
184
+ const lines = [
185
+ ` ${table.accessor}: table("${table.sqlName}", {`,
186
+ ];
187
+ for (const col of table.columns) {
188
+ lines.push(` ${sqliteColumnDef(col, table)}`);
189
+ }
190
+ const extras = [];
191
+ for (const index of table.indexes) {
192
+ const builder = index.unique ? "unique" : "index";
193
+ extras.push(` ${index.name}: ${builder}().on(${index.columns
194
+ .map((sqlName) => `t.${tsNameBySql.get(sqlName) ?? sqlName}`)
195
+ .join(", ")}),`);
196
+ }
197
+ if (table.primaryKey.length > 1) {
198
+ extras.push(` pk: primaryKey(${table.primaryKey
199
+ .map((sqlName) => `t.${tsNameBySql.get(sqlName) ?? sqlName}`)
200
+ .join(", ")}),`);
201
+ }
202
+ if (extras.length > 0) {
203
+ lines.push(` }, (t) => ({
204
+ ${extras.join("\n")}
205
+ })),`);
206
+ }
207
+ else {
208
+ lines.push(` }),`);
209
+ }
210
+ tableBlocks.push(lines.join("\n"));
211
+ }
212
+ return [
213
+ `import {`,
214
+ ` defineSchema,`,
215
+ ` table,`,
216
+ ` id,`,
217
+ ` text,`,
218
+ ` bool,`,
219
+ ` int,`,
220
+ ` timestamp,`,
221
+ ` decimal,`,
222
+ ` jsonb,`,
223
+ ` bytea,`,
224
+ ` serial,`,
225
+ ` fk,`,
226
+ ` index,`,
227
+ ` unique,`,
228
+ ` primaryKey,`,
229
+ `} from "neoorm/schema";`,
230
+ ``,
231
+ `export const schema = defineSchema({`,
232
+ ...tableBlocks,
233
+ `});`,
234
+ ``,
235
+ ].join("\n");
236
+ }
127
237
  function inferColumnNaming(columnNames) {
128
238
  const allCamelCase = columnNames.every((sqlName) => toCamelCase(sqlName) === sqlName);
129
239
  const needsSnakeCaseMap = columnNames.some((sqlName) => sqlName !== resolveSqlColumnName(toCamelCase(sqlName), "snakeCase"));
@@ -133,16 +243,17 @@ function appendMapModifier(def, tsName, sqlName, columnNaming) {
133
243
  if (sqlName === resolveSqlColumnName(tsName, columnNaming)) {
134
244
  return def;
135
245
  }
136
- return `${def}.map("${sqlName}")`;
246
+ return `${def}.map("${escapeTsString(sqlName)}")`;
137
247
  }
138
248
  function pgTypeToKind(dataType) {
139
249
  switch (dataType) {
140
250
  case "boolean":
141
251
  return "bool";
142
252
  case "integer":
143
- case "bigint":
144
253
  case "smallint":
145
254
  return "int";
255
+ case "bigint":
256
+ return "bigint";
146
257
  case "timestamp with time zone":
147
258
  case "timestamp without time zone":
148
259
  return "timestamp";
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/introspect/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/introspect/pull.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Pool } from "pg";
1
+ import type { DatabaseClient } from "../runtime/driver.js";
2
2
  export type TableRow = {
3
3
  table_name: string;
4
4
  };
@@ -26,16 +26,16 @@ export type UniqueConstraintRow = {
26
26
  column_name: string;
27
27
  constraint_name: string;
28
28
  };
29
- export declare function queryTables(pool: Pool, schema?: string): Promise<TableRow[]>;
30
- export declare function queryColumns(pool: Pool, tableName: string, schema?: string): Promise<ColumnRow[]>;
31
- export declare function queryForeignKeys(pool: Pool, tableName: string, schema?: string): Promise<FkRow[]>;
32
- export declare function queryIndexes(pool: Pool, tableName: string, schema?: string): Promise<IndexRow[]>;
33
- export declare function queryUniqueConstraints(pool: Pool, tableName: string, schema?: string): Promise<UniqueConstraintRow[]>;
34
- export declare function queryPrimaryKeyColumns(pool: Pool, tableName: string, schema?: string): Promise<string[]>;
35
- export declare function queryInstalledExtensions(pool: Pool): Promise<string[]>;
29
+ export declare function queryTables(client: DatabaseClient, schema?: string): Promise<TableRow[]>;
30
+ export declare function queryColumns(client: DatabaseClient, tableName: string, schema?: string): Promise<ColumnRow[]>;
31
+ export declare function queryForeignKeys(client: DatabaseClient, tableName: string, schema?: string): Promise<FkRow[]>;
32
+ export declare function queryIndexes(client: DatabaseClient, tableName: string, schema?: string): Promise<IndexRow[]>;
33
+ export declare function queryUniqueConstraints(client: DatabaseClient, tableName: string, schema?: string): Promise<UniqueConstraintRow[]>;
34
+ export declare function queryPrimaryKeyColumns(client: DatabaseClient, tableName: string, schema?: string): Promise<string[]>;
35
+ export declare function queryInstalledExtensions(client: DatabaseClient): Promise<string[]>;
36
36
  export type EnumTypeRow = {
37
37
  typname: string;
38
38
  enumlabel: string;
39
39
  };
40
- export declare function queryEnumTypes(pool: Pool, schema?: string): Promise<Record<string, string[]>>;
40
+ export declare function queryEnumTypes(client: DatabaseClient, schema?: string): Promise<Record<string, string[]>>;
41
41
  //# sourceMappingURL=queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/introspect/queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,MAAM,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAsB,WAAW,CAChC,IAAI,EAAE,IAAI,EACV,MAAM,SAAW,GACf,OAAO,CAAC,QAAQ,EAAE,CAAC,CAarB;AAED,wBAAsB,YAAY,CACjC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,SAAW,GACf,OAAO,CAAC,SAAS,EAAE,CAAC,CAWtB;AAED,wBAAsB,gBAAgB,CACrC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,SAAW,GACf,OAAO,CAAC,KAAK,EAAE,CAAC,CA0BlB;AAED,wBAAsB,YAAY,CACjC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,SAAW,GACf,OAAO,CAAC,QAAQ,EAAE,CAAC,CAqBrB;AAED,wBAAsB,sBAAsB,CAC3C,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,SAAW,GACf,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAiBhC;AAED,wBAAsB,sBAAsB,CAC3C,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,SAAW,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBnB;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQ5E;AAED,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAsB,cAAc,CACnC,IAAI,EAAE,IAAI,EACV,MAAM,SAAW,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAoBnC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/introspect/queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAsB,WAAW,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,SAAW,GACf,OAAO,CAAC,QAAQ,EAAE,CAAC,CAarB;AAED,wBAAsB,YAAY,CACjC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,MAAM,SAAW,GACf,OAAO,CAAC,SAAS,EAAE,CAAC,CAWtB;AAED,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,MAAM,SAAW,GACf,OAAO,CAAC,KAAK,EAAE,CAAC,CA0BlB;AAED,wBAAsB,YAAY,CACjC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,MAAM,SAAW,GACf,OAAO,CAAC,QAAQ,EAAE,CAAC,CAqBrB;AAED,wBAAsB,sBAAsB,CAC3C,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,MAAM,SAAW,GACf,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAiBhC;AAED,wBAAsB,sBAAsB,CAC3C,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,MAAM,SAAW,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBnB;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQxF;AAED,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAsB,cAAc,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,SAAW,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAoBnC"}
@@ -1,5 +1,5 @@
1
- export async function queryTables(pool, schema = "public") {
2
- const result = await pool.query(`
1
+ export async function queryTables(client, schema = "public") {
2
+ const result = await client.query(`
3
3
  SELECT table_name
4
4
  FROM information_schema.tables
5
5
  WHERE table_schema = $1
@@ -9,8 +9,8 @@ export async function queryTables(pool, schema = "public") {
9
9
  `, [schema]);
10
10
  return result.rows;
11
11
  }
12
- export async function queryColumns(pool, tableName, schema = "public") {
13
- const result = await pool.query(`
12
+ export async function queryColumns(client, tableName, schema = "public") {
13
+ const result = await client.query(`
14
14
  SELECT column_name, data_type, udt_name, is_nullable, column_default
15
15
  FROM information_schema.columns
16
16
  WHERE table_schema = $1 AND table_name = $2
@@ -18,8 +18,8 @@ export async function queryColumns(pool, tableName, schema = "public") {
18
18
  `, [schema, tableName]);
19
19
  return result.rows;
20
20
  }
21
- export async function queryForeignKeys(pool, tableName, schema = "public") {
22
- const result = await pool.query(`
21
+ export async function queryForeignKeys(client, tableName, schema = "public") {
22
+ const result = await client.query(`
23
23
  SELECT
24
24
  kcu.column_name,
25
25
  ccu.table_name AS foreign_table_name,
@@ -42,8 +42,8 @@ export async function queryForeignKeys(pool, tableName, schema = "public") {
42
42
  `, [schema, tableName]);
43
43
  return result.rows;
44
44
  }
45
- export async function queryIndexes(pool, tableName, schema = "public") {
46
- const result = await pool.query(`
45
+ export async function queryIndexes(client, tableName, schema = "public") {
46
+ const result = await client.query(`
47
47
  SELECT
48
48
  i.relname AS index_name,
49
49
  a.attname AS column_name,
@@ -61,8 +61,8 @@ export async function queryIndexes(pool, tableName, schema = "public") {
61
61
  `, [schema, tableName]);
62
62
  return result.rows;
63
63
  }
64
- export async function queryUniqueConstraints(pool, tableName, schema = "public") {
65
- const result = await pool.query(`
64
+ export async function queryUniqueConstraints(client, tableName, schema = "public") {
65
+ const result = await client.query(`
66
66
  SELECT
67
67
  kcu.column_name,
68
68
  tc.constraint_name
@@ -76,8 +76,8 @@ export async function queryUniqueConstraints(pool, tableName, schema = "public")
76
76
  `, [schema, tableName]);
77
77
  return result.rows;
78
78
  }
79
- export async function queryPrimaryKeyColumns(pool, tableName, schema = "public") {
80
- const result = await pool.query(`
79
+ export async function queryPrimaryKeyColumns(client, tableName, schema = "public") {
80
+ const result = await client.query(`
81
81
  SELECT kcu.column_name
82
82
  FROM information_schema.table_constraints tc
83
83
  JOIN information_schema.key_column_usage kcu
@@ -90,8 +90,8 @@ export async function queryPrimaryKeyColumns(pool, tableName, schema = "public")
90
90
  `, [schema, tableName]);
91
91
  return result.rows.map((row) => row.column_name);
92
92
  }
93
- export async function queryInstalledExtensions(pool) {
94
- const result = await pool.query(`
93
+ export async function queryInstalledExtensions(client) {
94
+ const result = await client.query(`
95
95
  SELECT extname
96
96
  FROM pg_extension
97
97
  WHERE extname NOT IN ('plpgsql')
@@ -99,8 +99,8 @@ export async function queryInstalledExtensions(pool) {
99
99
  `);
100
100
  return result.rows.map((row) => row.extname);
101
101
  }
102
- export async function queryEnumTypes(pool, schema = "public") {
103
- const result = await pool.query(`
102
+ export async function queryEnumTypes(client, schema = "public") {
103
+ const result = await client.query(`
104
104
  SELECT t.typname, e.enumlabel
105
105
  FROM pg_type t
106
106
  JOIN pg_enum e ON t.oid = e.enumtypid
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/introspect/queries.ts"],"names":[],"mappings":"AAkCA,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,IAAU,EACV,MAAM,GAAG,QAAQ;IAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC9B;;;;;;;GAOC,EACD,CAAC,MAAM,CAAC,CACR,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,IAAU,EACV,SAAiB,EACjB,MAAM,GAAG,QAAQ;IAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC9B;;;;;GAKC,EACD,CAAC,MAAM,EAAE,SAAS,CAAC,CACnB,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,IAAU,EACV,SAAiB,EACjB,MAAM,GAAG,QAAQ;IAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC9B;;;;;;;;;;;;;;;;;;;;GAoBC,EACD,CAAC,MAAM,EAAE,SAAS,CAAC,CACnB,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,IAAU,EACV,SAAiB,EACjB,MAAM,GAAG,QAAQ;IAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC9B;;;;;;;;;;;;;;;GAeC,EACD,CAAC,MAAM,EAAE,SAAS,CAAC,CACnB,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,IAAU,EACV,SAAiB,EACjB,MAAM,GAAG,QAAQ;IAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC9B;;;;;;;;;;;GAWC,EACD,CAAC,MAAM,EAAE,SAAS,CAAC,CACnB,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,IAAU,EACV,SAAiB,EACjB,MAAM,GAAG,QAAQ;IAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC9B;;;;;;;;;;GAUC,EACD,CAAC,MAAM,EAAE,SAAS,CAAC,CACnB,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAAU;IACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAsB;;;;;GAKnD,CAAC,CAAC;IACJ,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,IAAU,EACV,MAAM,GAAG,QAAQ;IAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC9B;;;;;;;GAOC,EACD,CAAC,MAAM,CAAC,CACR,CAAC;IAEF,MAAM,SAAS,GAA6B,EAAE,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7B,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;IACnC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/introspect/queries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Manifest } from "../../dialect/types.js";
2
+ import type { DatabaseClient } from "../../runtime/driver.js";
3
+ export declare function introspectSqliteToManifest(client: DatabaseClient): Promise<Manifest>;
4
+ //# sourceMappingURL=to-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-manifest.d.ts","sourceRoot":"","sources":["../../../src/introspect/sqlite/to-manifest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,QAAQ,EAIR,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAmH9D,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,QAAQ,CAAC,CAYnB"}
@@ -0,0 +1,166 @@
1
+ import { quoteIdentifier } from "../../dialect/shared.js";
2
+ import { toCamelCase } from "../../utils/case.js";
3
+ function tableAccessor(tableName) {
4
+ return toCamelCase(tableName.endsWith("s") ? tableName : `${tableName}s`);
5
+ }
6
+ function mapDeleteRule(rule) {
7
+ switch (rule.toUpperCase()) {
8
+ case "CASCADE":
9
+ return "cascade";
10
+ case "SET NULL":
11
+ return "set null";
12
+ case "RESTRICT":
13
+ return "restrict";
14
+ case "NO ACTION":
15
+ return "no action";
16
+ default:
17
+ return undefined;
18
+ }
19
+ }
20
+ function sqliteTypeToKind(declaredType) {
21
+ const t = declaredType.toUpperCase();
22
+ if (t.includes("INT")) {
23
+ return "int";
24
+ }
25
+ if (t.includes("CHAR") || t.includes("CLOB") || t.includes("TEXT")) {
26
+ return "text";
27
+ }
28
+ if (t.includes("BLOB") || t.includes("BINARY")) {
29
+ return "bytea";
30
+ }
31
+ if (t.includes("REAL") ||
32
+ t.includes("FLOA") ||
33
+ t.includes("DOUB") ||
34
+ t.includes("DEC") ||
35
+ t.includes("NUMERIC")) {
36
+ return "decimal";
37
+ }
38
+ if (t.includes("BOOL")) {
39
+ return "bool";
40
+ }
41
+ if (t.includes("TIMESTAMP") ||
42
+ t.includes("DATETIME") ||
43
+ t.includes("DATE")) {
44
+ return "timestamp";
45
+ }
46
+ if (t.includes("JSON")) {
47
+ return "jsonb";
48
+ }
49
+ return "text";
50
+ }
51
+ function parseDefaultValue(value) {
52
+ if (value === null || value === undefined) {
53
+ return {};
54
+ }
55
+ const trimmed = value.trim();
56
+ if (/^current_timestamp$/i.test(trimmed)) {
57
+ return { defaultNow: true };
58
+ }
59
+ if (trimmed.startsWith("'") && trimmed.endsWith("'")) {
60
+ return { defaultValue: trimmed.slice(1, -1) };
61
+ }
62
+ if (trimmed === "true" || trimmed === "false") {
63
+ return { defaultValue: trimmed === "true" };
64
+ }
65
+ const num = Number(trimmed);
66
+ if (Number.isFinite(num) && trimmed !== "") {
67
+ return { defaultValue: num };
68
+ }
69
+ return { defaultValue: trimmed };
70
+ }
71
+ export async function introspectSqliteToManifest(client) {
72
+ const tableResult = await client.query(`SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' AND name NOT LIKE '_neoorm_%' ORDER BY name`);
73
+ const tables = {};
74
+ for (const { name } of tableResult.rows) {
75
+ const table = await introspectSqliteTable(client, name);
76
+ tables[table.accessor] = table;
77
+ }
78
+ return { version: 1, tables, manyToMany: [] };
79
+ }
80
+ async function introspectSqliteTable(client, tableName) {
81
+ const info = (await client.query(`PRAGMA table_info(${quoteIdentifier(tableName)})`)).rows;
82
+ const fks = (await client.query(`PRAGMA foreign_key_list(${quoteIdentifier(tableName)})`)).rows;
83
+ const indexRows = (await client.query(`PRAGMA index_list(${quoteIdentifier(tableName)})`)).rows;
84
+ const primaryKey = info.filter((col) => col.pk > 0).map((col) => col.name);
85
+ const singleIntegerPk = primaryKey.length === 1 &&
86
+ info.some((col) => col.pk > 0 && /int/i.test(col.type));
87
+ const fkMap = new Map(fks.filter((fk) => fk.from).map((fk) => [fk.from, fk]));
88
+ const manifestColumns = info.map((col) => {
89
+ const tsName = toCamelCase(col.name);
90
+ const nullable = col.notnull === 0;
91
+ const fk = fkMap.get(col.name);
92
+ const defaults = parseDefaultValue(col.dflt_value);
93
+ if (fk) {
94
+ const onDelete = mapDeleteRule(fk.on_delete);
95
+ return {
96
+ tsName,
97
+ sqlName: col.name,
98
+ kind: "fk",
99
+ nullable,
100
+ unique: false,
101
+ primary: primaryKey.length === 1 && col.pk > 0,
102
+ defaultNow: defaults.defaultNow ?? false,
103
+ storageSqlType: col.type || "TEXT",
104
+ ...(defaults.defaultValue !== undefined
105
+ ? { defaultValue: defaults.defaultValue }
106
+ : {}),
107
+ fkTarget: `${fk.table}.${fk.to ?? "id"}`,
108
+ ...(onDelete ? { onDelete } : {}),
109
+ };
110
+ }
111
+ const kind = sqliteTypeToKind(col.type);
112
+ const column = {
113
+ tsName,
114
+ sqlName: col.name,
115
+ kind: singleIntegerPk && col.pk > 0 ? "serial" : kind,
116
+ nullable,
117
+ unique: false,
118
+ primary: primaryKey.length === 1 && col.pk > 0,
119
+ defaultNow: defaults.defaultNow ?? false,
120
+ storageSqlType: col.type || "TEXT",
121
+ ...(defaults.defaultValue !== undefined
122
+ ? { defaultValue: defaults.defaultValue }
123
+ : {}),
124
+ ...(singleIntegerPk && col.pk > 0 ? { generated: true } : {}),
125
+ };
126
+ return column;
127
+ });
128
+ const uniqueAutoIndexes = indexRows.filter((row) => row.origin === "u" && row.unique);
129
+ for (const row of uniqueAutoIndexes) {
130
+ const cols = (await client.query(`PRAGMA index_info(${quoteIdentifier(row.name)})`)).rows;
131
+ if (cols.length === 1) {
132
+ const col = manifestColumns.find((c) => c.sqlName === cols[0]?.name);
133
+ if (col) {
134
+ col.unique = true;
135
+ }
136
+ }
137
+ }
138
+ const uniqueColumns = new Set(manifestColumns.filter((col) => col.unique).map((col) => col.sqlName));
139
+ const indexes = [];
140
+ for (const row of indexRows) {
141
+ if (row.origin === "pk" || row.name.startsWith("sqlite_autoindex_")) {
142
+ continue;
143
+ }
144
+ const cols = (await client.query(`PRAGMA index_info(${quoteIdentifier(row.name)})`)).rows;
145
+ const columns = cols.map((col) => col.name);
146
+ if (row.unique === 1 &&
147
+ columns.length === 1 &&
148
+ uniqueColumns.has(columns[0] ?? "")) {
149
+ continue;
150
+ }
151
+ indexes.push({
152
+ name: row.name,
153
+ columns,
154
+ unique: row.unique === 1,
155
+ });
156
+ }
157
+ return {
158
+ accessor: tableAccessor(tableName),
159
+ sqlName: tableName,
160
+ columns: manifestColumns,
161
+ relations: [],
162
+ indexes,
163
+ primaryKey,
164
+ };
165
+ }
166
+ //# sourceMappingURL=to-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-manifest.js","sourceRoot":"","sources":["../../../src/introspect/sqlite/to-manifest.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { Pool } from "pg";
1
+ import type { DatabaseClient } from "../runtime/driver.js";
2
2
  import type { Manifest } from "../dialect/types.js";
3
- export declare function introspectToManifest(pool: Pool, options?: {
3
+ export declare function introspectToManifest(client: DatabaseClient, options?: {
4
4
  schema?: string;
5
5
  }): Promise<Manifest>;
6
6
  //# sourceMappingURL=to-manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"to-manifest.d.ts","sourceRoot":"","sources":["../../src/introspect/to-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,KAAK,EACX,QAAQ,EAIR,MAAM,qBAAqB,CAAC;AA0S7B,wBAAsB,oBAAoB,CACzC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,QAAQ,CAAC,CAsCnB"}
1
+ {"version":3,"file":"to-manifest.d.ts","sourceRoot":"","sources":["../../src/introspect/to-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EACX,QAAQ,EAIR,MAAM,qBAAqB,CAAC;AAkT7B,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,QAAQ,CAAC,CAsCnB"}
@@ -27,9 +27,10 @@ function pgTypeToKind(dataType, udtName, enumTypes) {
27
27
  case "boolean":
28
28
  return "bool";
29
29
  case "integer":
30
- case "bigint":
31
30
  case "smallint":
32
31
  return "int";
32
+ case "bigint":
33
+ return "bigint";
33
34
  case "timestamp with time zone":
34
35
  case "timestamp without time zone":
35
36
  return "timestamp";
@@ -59,6 +60,13 @@ function parseDefaultValue(kind, columnDefault) {
59
60
  };
60
61
  }
61
62
  }
63
+ if (kind === "bigint") {
64
+ const match = columnDefault.match(/^(-?\d+)/);
65
+ if (match) {
66
+ // keep the exact literal; JS numbers cannot represent int8 exactly
67
+ return { defaultNow: false, defaultValue: match[1] };
68
+ }
69
+ }
62
70
  if (kind === "json" || kind === "jsonb") {
63
71
  const jsonMatch = columnDefault.match(/^'((?:''|[^'])*)'::/);
64
72
  if (jsonMatch) {
@@ -137,13 +145,13 @@ function filterConstraintBackedIndexes(indexes, columns) {
137
145
  return !uniqueColumns.has(indexColumn);
138
146
  });
139
147
  }
140
- async function introspectTable(pool, tableName, enumTypes, schema) {
148
+ async function introspectTable(client, tableName, enumTypes, schema) {
141
149
  const [columns, fks, indexRows, uniqueRows, primaryKey] = await Promise.all([
142
- queryColumns(pool, tableName, schema),
143
- queryForeignKeys(pool, tableName, schema),
144
- queryIndexes(pool, tableName, schema),
145
- queryUniqueConstraints(pool, tableName, schema),
146
- queryPrimaryKeyColumns(pool, tableName, schema),
150
+ queryColumns(client, tableName, schema),
151
+ queryForeignKeys(client, tableName, schema),
152
+ queryIndexes(client, tableName, schema),
153
+ queryUniqueConstraints(client, tableName, schema),
154
+ queryPrimaryKeyColumns(client, tableName, schema),
147
155
  ]);
148
156
  const fkMap = new Map(fks.map((fk) => [fk.column_name, fk]));
149
157
  const uniqueMap = new Map(uniqueRows.map((row) => [row.column_name, row.constraint_name]));
@@ -225,14 +233,14 @@ async function introspectTable(pool, tableName, enumTypes, schema) {
225
233
  primaryKey,
226
234
  };
227
235
  }
228
- export async function introspectToManifest(pool, options = {}) {
236
+ export async function introspectToManifest(client, options = {}) {
229
237
  const schema = resolvePgSchemaName(options.schema);
230
- const tables = await queryTables(pool, schema);
231
- const extensions = await queryInstalledExtensions(pool);
232
- const enumTypes = await queryEnumTypes(pool, schema);
238
+ const tables = await queryTables(client, schema);
239
+ const extensions = await queryInstalledExtensions(client);
240
+ const enumTypes = await queryEnumTypes(client, schema);
233
241
  const manifestTables = {};
234
242
  for (const { table_name } of tables) {
235
- const table = await introspectTable(pool, table_name, enumTypes, schema);
243
+ const table = await introspectTable(client, table_name, enumTypes, schema);
236
244
  manifestTables[table.accessor] = table;
237
245
  }
238
246
  const knownExtensions = new Set(collectExtensions(getPluginRegistry()));