@fragno-dev/db 0.1.0 → 0.1.2

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 (111) hide show
  1. package/.turbo/turbo-build.log +63 -55
  2. package/CHANGELOG.md +18 -0
  3. package/dist/adapters/adapters.d.ts +11 -1
  4. package/dist/adapters/adapters.d.ts.map +1 -1
  5. package/dist/adapters/drizzle/drizzle-adapter.d.ts +9 -2
  6. package/dist/adapters/drizzle/drizzle-adapter.d.ts.map +1 -1
  7. package/dist/adapters/drizzle/drizzle-adapter.js +21 -39
  8. package/dist/adapters/drizzle/drizzle-adapter.js.map +1 -1
  9. package/dist/adapters/drizzle/drizzle-query.d.ts.map +1 -1
  10. package/dist/adapters/drizzle/drizzle-query.js +3 -2
  11. package/dist/adapters/drizzle/drizzle-query.js.map +1 -1
  12. package/dist/adapters/drizzle/drizzle-uow-compiler.js +7 -5
  13. package/dist/adapters/drizzle/drizzle-uow-compiler.js.map +1 -1
  14. package/dist/adapters/drizzle/drizzle-uow-decoder.js.map +1 -1
  15. package/dist/adapters/drizzle/drizzle-uow-executor.js.map +1 -1
  16. package/dist/adapters/drizzle/generate.js +107 -34
  17. package/dist/adapters/drizzle/generate.js.map +1 -1
  18. package/dist/adapters/drizzle/shared.js +14 -1
  19. package/dist/adapters/drizzle/shared.js.map +1 -1
  20. package/dist/adapters/kysely/kysely-adapter.d.ts +2 -1
  21. package/dist/adapters/kysely/kysely-adapter.d.ts.map +1 -1
  22. package/dist/adapters/kysely/kysely-adapter.js +25 -30
  23. package/dist/adapters/kysely/kysely-adapter.js.map +1 -1
  24. package/dist/adapters/kysely/kysely-query-builder.js +48 -44
  25. package/dist/adapters/kysely/kysely-query-builder.js.map +1 -1
  26. package/dist/adapters/kysely/kysely-query-compiler.js +2 -2
  27. package/dist/adapters/kysely/kysely-query-compiler.js.map +1 -1
  28. package/dist/adapters/kysely/kysely-query.js +3 -2
  29. package/dist/adapters/kysely/kysely-query.js.map +1 -1
  30. package/dist/adapters/kysely/kysely-shared.js +18 -0
  31. package/dist/adapters/kysely/kysely-shared.js.map +1 -0
  32. package/dist/adapters/kysely/kysely-uow-compiler.js +4 -3
  33. package/dist/adapters/kysely/kysely-uow-compiler.js.map +1 -1
  34. package/dist/adapters/kysely/migration/execute.js +15 -12
  35. package/dist/adapters/kysely/migration/execute.js.map +1 -1
  36. package/dist/migration-engine/auto-from-schema.js +2 -8
  37. package/dist/migration-engine/auto-from-schema.js.map +1 -1
  38. package/dist/migration-engine/create.d.ts +1 -5
  39. package/dist/migration-engine/create.js +1 -1
  40. package/dist/migration-engine/create.js.map +1 -1
  41. package/dist/migration-engine/generation-engine.d.ts +51 -0
  42. package/dist/migration-engine/generation-engine.d.ts.map +1 -0
  43. package/dist/migration-engine/generation-engine.js +165 -0
  44. package/dist/migration-engine/generation-engine.js.map +1 -0
  45. package/dist/migration-engine/shared.d.ts +5 -2
  46. package/dist/migration-engine/shared.d.ts.map +1 -1
  47. package/dist/migration-engine/shared.js.map +1 -1
  48. package/dist/mod.d.ts +0 -8
  49. package/dist/mod.d.ts.map +1 -1
  50. package/dist/mod.js +0 -32
  51. package/dist/mod.js.map +1 -1
  52. package/dist/query/condition-builder.js.map +1 -1
  53. package/dist/query/query.d.ts +2 -2
  54. package/dist/query/query.d.ts.map +1 -1
  55. package/dist/query/result-transform.js +2 -1
  56. package/dist/query/result-transform.js.map +1 -1
  57. package/dist/schema/create.d.ts +74 -16
  58. package/dist/schema/create.d.ts.map +1 -1
  59. package/dist/schema/create.js +76 -11
  60. package/dist/schema/create.js.map +1 -1
  61. package/dist/schema/serialize.js.map +1 -1
  62. package/dist/shared/settings-schema.js +36 -0
  63. package/dist/shared/settings-schema.js.map +1 -0
  64. package/dist/util/import-generator.js.map +1 -1
  65. package/dist/util/parse.js.map +1 -1
  66. package/package.json +10 -6
  67. package/src/adapters/adapters.ts +10 -3
  68. package/src/adapters/drizzle/drizzle-adapter-pglite.test.ts +11 -7
  69. package/src/adapters/drizzle/drizzle-adapter.test.ts +77 -29
  70. package/src/adapters/drizzle/drizzle-adapter.ts +31 -78
  71. package/src/adapters/drizzle/drizzle-query.ts +4 -7
  72. package/src/adapters/drizzle/drizzle-uow-compiler.test.ts +10 -4
  73. package/src/adapters/drizzle/drizzle-uow-compiler.ts +12 -6
  74. package/src/adapters/drizzle/drizzle-uow-decoder.ts +1 -1
  75. package/src/adapters/drizzle/drizzle-uow-executor.ts +1 -1
  76. package/src/adapters/drizzle/generate.test.ts +573 -150
  77. package/src/adapters/drizzle/generate.ts +187 -36
  78. package/src/adapters/drizzle/migrate-drizzle.test.ts +30 -6
  79. package/src/adapters/drizzle/shared.ts +31 -1
  80. package/src/adapters/drizzle/test-utils.ts +3 -1
  81. package/src/adapters/kysely/kysely-adapter-pglite.test.ts +25 -27
  82. package/src/adapters/kysely/kysely-adapter.ts +35 -58
  83. package/src/adapters/kysely/kysely-query-builder.ts +75 -44
  84. package/src/adapters/kysely/kysely-query-compiler.ts +3 -1
  85. package/src/adapters/kysely/kysely-query.ts +9 -3
  86. package/src/adapters/kysely/kysely-shared.ts +23 -0
  87. package/src/adapters/kysely/kysely-uow-compiler.ts +5 -2
  88. package/src/adapters/kysely/migration/execute-mysql.test.ts +2 -2
  89. package/src/adapters/kysely/migration/execute-postgres.test.ts +19 -19
  90. package/src/adapters/kysely/migration/execute.ts +48 -17
  91. package/src/adapters/kysely/migration/kysely-migrator.test.ts +19 -37
  92. package/src/fragment.test.ts +48 -1
  93. package/src/migration-engine/auto-from-schema.ts +14 -18
  94. package/src/migration-engine/create.ts +1 -6
  95. package/src/migration-engine/generation-engine.test.ts +597 -0
  96. package/src/migration-engine/generation-engine.ts +356 -0
  97. package/src/migration-engine/shared.ts +1 -4
  98. package/src/mod.ts +0 -66
  99. package/src/query/condition-builder.ts +24 -8
  100. package/src/query/query.ts +4 -2
  101. package/src/query/result-transform.ts +7 -1
  102. package/src/schema/create.test.ts +4 -1
  103. package/src/schema/create.ts +132 -24
  104. package/src/schema/serialize.ts +21 -7
  105. package/src/shared/settings-schema.ts +61 -0
  106. package/src/util/deep-equal.ts +21 -7
  107. package/src/util/import-generator.ts +3 -1
  108. package/src/util/parse.ts +3 -1
  109. package/tsdown.config.ts +1 -0
  110. package/.turbo/turbo-test.log +0 -36
  111. package/.turbo/turbo-types$colon$check.log +0 -1
@@ -9,7 +9,7 @@ import type {
9
9
  } from "../../query/unit-of-work";
10
10
  import { buildCondition, type Condition } from "../../query/condition-builder";
11
11
  import type { DrizzleConfig } from "./drizzle-adapter";
12
- import { type ColumnType, type TableType, parseDrizzle } from "./shared";
12
+ import { type ColumnType, type TableType, type TableNameMapper, parseDrizzle } from "./shared";
13
13
  import { encodeValues, ReferenceSubquery } from "../../query/result-transform";
14
14
  import { serialize } from "../../schema/serialize";
15
15
  import { decodeCursor, serializeCursorValues } from "../../query/cursor";
@@ -29,12 +29,14 @@ export type DrizzleCompiledQuery = {
29
29
  *
30
30
  * @param schema - The database schema
31
31
  * @param config - Drizzle configuration
32
+ * @param mapper - Optional table name mapper for namespace prefixing
32
33
  * @param onQuery - Optional callback to receive compiled queries for logging/debugging
33
34
  * @returns A UOWCompiler instance for Drizzle
34
35
  */
35
36
  export function createDrizzleUOWCompiler<TSchema extends AnySchema>(
36
37
  schema: TSchema,
37
38
  config: DrizzleConfig,
39
+ mapper?: TableNameMapper,
38
40
  onQuery?: (query: DrizzleCompiledQuery) => void,
39
41
  ): UOWCompiler<TSchema, DrizzleCompiledQuery> {
40
42
  const [db, drizzleTables] = parseDrizzle(config.db);
@@ -45,14 +47,15 @@ export function createDrizzleUOWCompiler<TSchema extends AnySchema>(
45
47
  * @throws Error if table is not found in Drizzle schema
46
48
  */
47
49
  function toDrizzleTable(table: AnyTable): TableType {
48
- const tableName = table.ormName;
49
- const out = drizzleTables[tableName];
50
+ // Map logical table name to physical table name using the mapper
51
+ const physicalTableName = mapper ? mapper.toPhysical(table.ormName) : table.ormName;
52
+ const out = drizzleTables[physicalTableName];
50
53
  if (out) {
51
54
  return out;
52
55
  }
53
56
 
54
57
  throw new Error(
55
- `[Drizzle] Unknown table name ${tableName}, is it included in your Drizzle schema?`,
58
+ `[Drizzle] Unknown table name ${physicalTableName} (logical: ${table.ormName}), is it included in your Drizzle schema?`,
56
59
  );
57
60
  }
58
61
 
@@ -150,7 +153,9 @@ export function createDrizzleUOWCompiler<TSchema extends AnySchema>(
150
153
 
151
154
  if (condition.type === "not") {
152
155
  const result = buildWhere(condition.item);
153
- if (!result) return;
156
+ if (!result) {
157
+ return;
158
+ }
154
159
 
155
160
  return Drizzle.not(result);
156
161
  }
@@ -435,7 +440,8 @@ export function createDrizzleUOWCompiler<TSchema extends AnySchema>(
435
440
  queryConfig.with = processJoins(joins);
436
441
  }
437
442
 
438
- const compiledQuery = db.query[op.table.ormName].findMany(queryConfig).toSQL();
443
+ const physicalTableName = mapper ? mapper.toPhysical(op.table.ormName) : op.table.ormName;
444
+ const compiledQuery = db.query[physicalTableName].findMany(queryConfig).toSQL();
439
445
  onQuery?.(compiledQuery);
440
446
  return compiledQuery;
441
447
  }
@@ -2,8 +2,8 @@ import type { AnySchema, AnyTable } from "../../schema/create";
2
2
  import type { SQLProvider } from "../../shared/providers";
3
3
  import type { RetrievalOperation, UOWDecoder } from "../../query/unit-of-work";
4
4
  import { decodeResult } from "../../query/result-transform";
5
- import type { DrizzleResult } from "./drizzle-query";
6
5
  import { getOrderedJoinColumns } from "./join-column-utils";
6
+ import type { DrizzleResult } from "./shared";
7
7
 
8
8
  /**
9
9
  * Join information with nested join support
@@ -2,7 +2,7 @@ import { SQL, StringChunk, sql, type SQLChunk } from "drizzle-orm";
2
2
  import type { CompiledMutation, MutationResult } from "../../query/unit-of-work";
3
3
  import type { DBType } from "./shared";
4
4
  import type { DrizzleCompiledQuery } from "./drizzle-uow-compiler";
5
- import type { DrizzleResult } from "./drizzle-query";
5
+ import type { DrizzleResult } from "./shared";
6
6
 
7
7
  /**
8
8
  * Convert a DrizzleCompiledQuery (SQL string + params) to a Drizzle SQL object