@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.
- package/.turbo/turbo-build.log +63 -55
- package/CHANGELOG.md +18 -0
- package/dist/adapters/adapters.d.ts +11 -1
- package/dist/adapters/adapters.d.ts.map +1 -1
- package/dist/adapters/drizzle/drizzle-adapter.d.ts +9 -2
- package/dist/adapters/drizzle/drizzle-adapter.d.ts.map +1 -1
- package/dist/adapters/drizzle/drizzle-adapter.js +21 -39
- package/dist/adapters/drizzle/drizzle-adapter.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-query.d.ts.map +1 -1
- package/dist/adapters/drizzle/drizzle-query.js +3 -2
- package/dist/adapters/drizzle/drizzle-query.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-uow-compiler.js +7 -5
- package/dist/adapters/drizzle/drizzle-uow-compiler.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-uow-decoder.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-uow-executor.js.map +1 -1
- package/dist/adapters/drizzle/generate.js +107 -34
- package/dist/adapters/drizzle/generate.js.map +1 -1
- package/dist/adapters/drizzle/shared.js +14 -1
- package/dist/adapters/drizzle/shared.js.map +1 -1
- package/dist/adapters/kysely/kysely-adapter.d.ts +2 -1
- package/dist/adapters/kysely/kysely-adapter.d.ts.map +1 -1
- package/dist/adapters/kysely/kysely-adapter.js +25 -30
- package/dist/adapters/kysely/kysely-adapter.js.map +1 -1
- package/dist/adapters/kysely/kysely-query-builder.js +48 -44
- package/dist/adapters/kysely/kysely-query-builder.js.map +1 -1
- package/dist/adapters/kysely/kysely-query-compiler.js +2 -2
- package/dist/adapters/kysely/kysely-query-compiler.js.map +1 -1
- package/dist/adapters/kysely/kysely-query.js +3 -2
- package/dist/adapters/kysely/kysely-query.js.map +1 -1
- package/dist/adapters/kysely/kysely-shared.js +18 -0
- package/dist/adapters/kysely/kysely-shared.js.map +1 -0
- package/dist/adapters/kysely/kysely-uow-compiler.js +4 -3
- package/dist/adapters/kysely/kysely-uow-compiler.js.map +1 -1
- package/dist/adapters/kysely/migration/execute.js +15 -12
- package/dist/adapters/kysely/migration/execute.js.map +1 -1
- package/dist/migration-engine/auto-from-schema.js +2 -8
- package/dist/migration-engine/auto-from-schema.js.map +1 -1
- package/dist/migration-engine/create.d.ts +1 -5
- package/dist/migration-engine/create.js +1 -1
- package/dist/migration-engine/create.js.map +1 -1
- package/dist/migration-engine/generation-engine.d.ts +51 -0
- package/dist/migration-engine/generation-engine.d.ts.map +1 -0
- package/dist/migration-engine/generation-engine.js +165 -0
- package/dist/migration-engine/generation-engine.js.map +1 -0
- package/dist/migration-engine/shared.d.ts +5 -2
- package/dist/migration-engine/shared.d.ts.map +1 -1
- package/dist/migration-engine/shared.js.map +1 -1
- package/dist/mod.d.ts +0 -8
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +0 -32
- package/dist/mod.js.map +1 -1
- package/dist/query/condition-builder.js.map +1 -1
- package/dist/query/query.d.ts +2 -2
- package/dist/query/query.d.ts.map +1 -1
- package/dist/query/result-transform.js +2 -1
- package/dist/query/result-transform.js.map +1 -1
- package/dist/schema/create.d.ts +74 -16
- package/dist/schema/create.d.ts.map +1 -1
- package/dist/schema/create.js +76 -11
- package/dist/schema/create.js.map +1 -1
- package/dist/schema/serialize.js.map +1 -1
- package/dist/shared/settings-schema.js +36 -0
- package/dist/shared/settings-schema.js.map +1 -0
- package/dist/util/import-generator.js.map +1 -1
- package/dist/util/parse.js.map +1 -1
- package/package.json +10 -6
- package/src/adapters/adapters.ts +10 -3
- package/src/adapters/drizzle/drizzle-adapter-pglite.test.ts +11 -7
- package/src/adapters/drizzle/drizzle-adapter.test.ts +77 -29
- package/src/adapters/drizzle/drizzle-adapter.ts +31 -78
- package/src/adapters/drizzle/drizzle-query.ts +4 -7
- package/src/adapters/drizzle/drizzle-uow-compiler.test.ts +10 -4
- package/src/adapters/drizzle/drizzle-uow-compiler.ts +12 -6
- package/src/adapters/drizzle/drizzle-uow-decoder.ts +1 -1
- package/src/adapters/drizzle/drizzle-uow-executor.ts +1 -1
- package/src/adapters/drizzle/generate.test.ts +573 -150
- package/src/adapters/drizzle/generate.ts +187 -36
- package/src/adapters/drizzle/migrate-drizzle.test.ts +30 -6
- package/src/adapters/drizzle/shared.ts +31 -1
- package/src/adapters/drizzle/test-utils.ts +3 -1
- package/src/adapters/kysely/kysely-adapter-pglite.test.ts +25 -27
- package/src/adapters/kysely/kysely-adapter.ts +35 -58
- package/src/adapters/kysely/kysely-query-builder.ts +75 -44
- package/src/adapters/kysely/kysely-query-compiler.ts +3 -1
- package/src/adapters/kysely/kysely-query.ts +9 -3
- package/src/adapters/kysely/kysely-shared.ts +23 -0
- package/src/adapters/kysely/kysely-uow-compiler.ts +5 -2
- package/src/adapters/kysely/migration/execute-mysql.test.ts +2 -2
- package/src/adapters/kysely/migration/execute-postgres.test.ts +19 -19
- package/src/adapters/kysely/migration/execute.ts +48 -17
- package/src/adapters/kysely/migration/kysely-migrator.test.ts +19 -37
- package/src/fragment.test.ts +48 -1
- package/src/migration-engine/auto-from-schema.ts +14 -18
- package/src/migration-engine/create.ts +1 -6
- package/src/migration-engine/generation-engine.test.ts +597 -0
- package/src/migration-engine/generation-engine.ts +356 -0
- package/src/migration-engine/shared.ts +1 -4
- package/src/mod.ts +0 -66
- package/src/query/condition-builder.ts +24 -8
- package/src/query/query.ts +4 -2
- package/src/query/result-transform.ts +7 -1
- package/src/schema/create.test.ts +4 -1
- package/src/schema/create.ts +132 -24
- package/src/schema/serialize.ts +21 -7
- package/src/shared/settings-schema.ts +61 -0
- package/src/util/deep-equal.ts +21 -7
- package/src/util/import-generator.ts +3 -1
- package/src/util/parse.ts +3 -1
- package/tsdown.config.ts +1 -0
- package/.turbo/turbo-test.log +0 -36
- 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
|
-
|
|
49
|
-
const
|
|
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 ${
|
|
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)
|
|
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
|
|
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 "./
|
|
5
|
+
import type { DrizzleResult } from "./shared";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Convert a DrizzleCompiledQuery (SQL string + params) to a Drizzle SQL object
|