neoorm 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -6
- package/dist/bin/neoorm.js +45 -15
- package/dist/bin/neoorm.js.map +1 -1
- package/dist/codegen/diff-manifest.d.ts +7 -7
- package/dist/codegen/diff-manifest.d.ts.map +1 -1
- package/dist/codegen/diff-manifest.js +67 -54
- package/dist/codegen/diff-manifest.js.map +1 -1
- package/dist/codegen/generate-summary.js.map +1 -1
- package/dist/codegen/generate.d.ts.map +1 -1
- package/dist/codegen/generate.js +11 -1
- package/dist/codegen/generate.js.map +1 -1
- package/dist/codegen/manifest-relations.d.ts.map +1 -1
- package/dist/codegen/manifest-relations.js +21 -0
- package/dist/codegen/manifest-relations.js.map +1 -1
- package/dist/codegen/schema-to-manifest.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/dialect/postgres.d.ts +3 -4
- package/dist/dialect/postgres.d.ts.map +1 -1
- package/dist/dialect/postgres.js +19 -11
- package/dist/dialect/postgres.js.map +1 -1
- package/dist/dialect/shared.d.ts +6 -0
- package/dist/dialect/shared.d.ts.map +1 -0
- package/dist/dialect/shared.js +16 -0
- package/dist/dialect/shared.js.map +1 -0
- package/dist/dialect/sqlite.d.ts +4 -0
- package/dist/dialect/sqlite.d.ts.map +1 -0
- package/dist/dialect/sqlite.js +276 -0
- package/dist/dialect/sqlite.js.map +1 -0
- package/dist/dialect/types.d.ts +7 -0
- package/dist/dialect/types.d.ts.map +1 -1
- package/dist/init/scaffold.js.map +1 -1
- package/dist/introspect/pull.d.ts +3 -2
- package/dist/introspect/pull.d.ts.map +1 -1
- package/dist/introspect/pull.js +124 -13
- package/dist/introspect/pull.js.map +1 -1
- package/dist/introspect/queries.d.ts +9 -9
- package/dist/introspect/queries.d.ts.map +1 -1
- package/dist/introspect/queries.js +16 -16
- package/dist/introspect/queries.js.map +1 -1
- package/dist/introspect/sqlite/to-manifest.d.ts +4 -0
- package/dist/introspect/sqlite/to-manifest.d.ts.map +1 -0
- package/dist/introspect/sqlite/to-manifest.js +166 -0
- package/dist/introspect/sqlite/to-manifest.js.map +1 -0
- package/dist/introspect/to-manifest.d.ts +2 -2
- package/dist/introspect/to-manifest.d.ts.map +1 -1
- package/dist/introspect/to-manifest.js +20 -12
- package/dist/introspect/to-manifest.js.map +1 -1
- package/dist/migrate/runner.d.ts +14 -14
- package/dist/migrate/runner.d.ts.map +1 -1
- package/dist/migrate/runner.js +83 -88
- package/dist/migrate/runner.js.map +1 -1
- package/dist/plugins/builtin.d.ts +1 -0
- package/dist/plugins/builtin.d.ts.map +1 -1
- package/dist/plugins/builtin.js +96 -6
- package/dist/plugins/builtin.js.map +1 -1
- package/dist/plugins/json/operators.d.ts.map +1 -1
- package/dist/plugins/json/operators.js +14 -5
- package/dist/plugins/json/operators.js.map +1 -1
- package/dist/plugins/types.d.ts +4 -4
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/runtime/client.d.ts +32 -7
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/client.js +68 -9
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/driver.d.ts +28 -0
- package/dist/runtime/driver.d.ts.map +1 -0
- package/dist/runtime/driver.js +265 -0
- package/dist/runtime/driver.js.map +1 -0
- package/dist/runtime/errors.d.ts +1 -1
- package/dist/runtime/errors.d.ts.map +1 -1
- package/dist/runtime/errors.js +1 -0
- package/dist/runtime/errors.js.map +1 -1
- package/dist/runtime/executor.d.ts +11 -3
- package/dist/runtime/executor.d.ts.map +1 -1
- package/dist/runtime/executor.js +69 -37
- package/dist/runtime/executor.js.map +1 -1
- package/dist/runtime/pg-error.d.ts +1 -1
- package/dist/runtime/pg-error.d.ts.map +1 -1
- package/dist/runtime/pg-error.js +6 -1
- package/dist/runtime/pg-error.js.map +1 -1
- package/dist/runtime/query/aggregate.d.ts.map +1 -1
- package/dist/runtime/query/aggregate.js +5 -4
- package/dist/runtime/query/aggregate.js.map +1 -1
- package/dist/runtime/query/compile.d.ts +42 -16
- package/dist/runtime/query/compile.d.ts.map +1 -1
- package/dist/runtime/query/compile.js +479 -91
- package/dist/runtime/query/compile.js.map +1 -1
- package/dist/runtime/query/count.d.ts.map +1 -1
- package/dist/runtime/query/count.js +7 -3
- package/dist/runtime/query/count.js.map +1 -1
- package/dist/runtime/query/create.d.ts +5 -0
- package/dist/runtime/query/create.d.ts.map +1 -1
- package/dist/runtime/query/create.js +89 -23
- package/dist/runtime/query/create.js.map +1 -1
- package/dist/runtime/query/cursor.d.ts +4 -3
- package/dist/runtime/query/cursor.d.ts.map +1 -1
- package/dist/runtime/query/cursor.js +13 -9
- package/dist/runtime/query/cursor.js.map +1 -1
- package/dist/runtime/query/delete.d.ts +2 -1
- package/dist/runtime/query/delete.d.ts.map +1 -1
- package/dist/runtime/query/delete.js +27 -14
- package/dist/runtime/query/delete.js.map +1 -1
- package/dist/runtime/query/execute.d.ts +11 -4
- package/dist/runtime/query/execute.d.ts.map +1 -1
- package/dist/runtime/query/execute.js +20 -5
- package/dist/runtime/query/execute.js.map +1 -1
- package/dist/runtime/query/find-or-create.d.ts +17 -0
- package/dist/runtime/query/find-or-create.d.ts.map +1 -0
- package/dist/runtime/query/find-or-create.js +90 -0
- package/dist/runtime/query/find-or-create.js.map +1 -0
- package/dist/runtime/query/find.d.ts +13 -4
- package/dist/runtime/query/find.d.ts.map +1 -1
- package/dist/runtime/query/find.js +201 -47
- package/dist/runtime/query/find.js.map +1 -1
- package/dist/runtime/query/manifest-lookup.d.ts +3 -2
- package/dist/runtime/query/manifest-lookup.d.ts.map +1 -1
- package/dist/runtime/query/manifest-lookup.js +5 -4
- package/dist/runtime/query/manifest-lookup.js.map +1 -1
- package/dist/runtime/query/paginate.d.ts.map +1 -1
- package/dist/runtime/query/paginate.js +16 -11
- package/dist/runtime/query/paginate.js.map +1 -1
- package/dist/runtime/query/primary-key.d.ts +9 -6
- package/dist/runtime/query/primary-key.d.ts.map +1 -1
- package/dist/runtime/query/primary-key.js +65 -35
- package/dist/runtime/query/primary-key.js.map +1 -1
- package/dist/runtime/query/relation-planner.d.ts +74 -0
- package/dist/runtime/query/relation-planner.d.ts.map +1 -0
- package/dist/runtime/query/relation-planner.js +648 -0
- package/dist/runtime/query/relation-planner.js.map +1 -0
- package/dist/runtime/query/relation-writes.d.ts +2 -1
- package/dist/runtime/query/relation-writes.d.ts.map +1 -1
- package/dist/runtime/query/relation-writes.js +46 -53
- package/dist/runtime/query/relation-writes.js.map +1 -1
- package/dist/runtime/query/table-index.d.ts +61 -0
- package/dist/runtime/query/table-index.d.ts.map +1 -0
- package/dist/runtime/query/table-index.js +152 -0
- package/dist/runtime/query/table-index.js.map +1 -0
- package/dist/runtime/query/unique.d.ts +3 -2
- package/dist/runtime/query/unique.d.ts.map +1 -1
- package/dist/runtime/query/unique.js +7 -6
- package/dist/runtime/query/unique.js.map +1 -1
- package/dist/runtime/query/update.d.ts +3 -1
- package/dist/runtime/query/update.d.ts.map +1 -1
- package/dist/runtime/query/update.js +117 -36
- package/dist/runtime/query/update.js.map +1 -1
- package/dist/runtime/query/updated-at.d.ts +6 -4
- package/dist/runtime/query/updated-at.d.ts.map +1 -1
- package/dist/runtime/query/updated-at.js +23 -9
- package/dist/runtime/query/updated-at.js.map +1 -1
- package/dist/runtime/query/upsert.d.ts.map +1 -1
- package/dist/runtime/query/upsert.js +11 -9
- package/dist/runtime/query/upsert.js.map +1 -1
- package/dist/runtime/sqlite-open.d.ts +3 -0
- package/dist/runtime/sqlite-open.d.ts.map +1 -0
- package/dist/runtime/sqlite-open.js +22 -0
- package/dist/runtime/sqlite-open.js.map +1 -0
- package/dist/runtime/transaction.d.ts +5 -0
- package/dist/runtime/transaction.d.ts.map +1 -0
- package/dist/runtime/transaction.js +26 -0
- package/dist/runtime/transaction.js.map +1 -0
- package/dist/runtime/types.d.ts +9 -4
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/schema/column.d.ts +1 -1
- package/dist/schema/column.d.ts.map +1 -1
- package/dist/schema/column.js +1 -1
- package/dist/schema/column.js.map +1 -1
- package/dist/schema/define-schema.js.map +1 -1
- package/dist/schema/index.d.ts +2 -2
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/relation-types.d.ts +1 -0
- package/dist/schema/relation-types.d.ts.map +1 -1
- package/dist/schema/types.d.ts +12 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/sql/builder.d.ts.map +1 -1
- package/dist/sql/template.d.ts +7 -0
- package/dist/sql/template.d.ts.map +1 -1
- package/dist/sql/template.js +89 -3
- package/dist/sql/template.js.map +1 -1
- package/dist/utils/case.d.ts +4 -0
- package/dist/utils/case.d.ts.map +1 -1
- package/dist/utils/case.js +11 -0
- package/dist/utils/case.js.map +1 -1
- package/dist/utils/uuid.js.map +1 -1
- package/package.json +21 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/introspect/queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
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(
|
|
2
|
-
const result = await
|
|
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(
|
|
13
|
-
const result = await
|
|
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(
|
|
22
|
-
const result = await
|
|
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(
|
|
46
|
-
const result = await
|
|
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(
|
|
65
|
-
const result = await
|
|
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(
|
|
80
|
-
const result = await
|
|
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(
|
|
94
|
-
const result = await
|
|
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(
|
|
103
|
-
const result = await
|
|
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,
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/introspect/queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 {
|
|
1
|
+
import type { DatabaseClient } from "../runtime/driver.js";
|
|
2
2
|
import type { Manifest } from "../dialect/types.js";
|
|
3
|
-
export declare function introspectToManifest(
|
|
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,
|
|
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(
|
|
148
|
+
async function introspectTable(client, tableName, enumTypes, schema) {
|
|
141
149
|
const [columns, fks, indexRows, uniqueRows, primaryKey] = await Promise.all([
|
|
142
|
-
queryColumns(
|
|
143
|
-
queryForeignKeys(
|
|
144
|
-
queryIndexes(
|
|
145
|
-
queryUniqueConstraints(
|
|
146
|
-
queryPrimaryKeyColumns(
|
|
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(
|
|
236
|
+
export async function introspectToManifest(client, options = {}) {
|
|
229
237
|
const schema = resolvePgSchemaName(options.schema);
|
|
230
|
-
const tables = await queryTables(
|
|
231
|
-
const extensions = await queryInstalledExtensions(
|
|
232
|
-
const enumTypes = await queryEnumTypes(
|
|
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(
|
|
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()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-manifest.js","sourceRoot":"","sources":["../../src/introspect/to-manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAO/E,OAAO,EACN,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACN,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,sBAAsB,GACtB,MAAM,cAAc,CAAC;AAEtB,SAAS,aAAa,CAAC,SAAiB;IACvC,OAAO,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,cAAc,CACtB,QAAgB,EAChB,aAA4B;IAE5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,CACN,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;QAClC,aAAa,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACjD,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACpB,QAAgB,EAChB,OAAe,EACf,SAAmC;IAEnC,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,UAAU,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,SAAS;YACb,OAAO,MAAM,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,
|
|
1
|
+
{"version":3,"file":"to-manifest.js","sourceRoot":"","sources":["../../src/introspect/to-manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/migrate/runner.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { Dialect, Manifest } from "../dialect/types.js";
|
|
2
|
+
import type { DatabaseClient } from "../runtime/driver.js";
|
|
3
3
|
export type MigrationRecord = {
|
|
4
4
|
name: string;
|
|
5
5
|
appliedAt: Date;
|
|
@@ -9,15 +9,15 @@ export type MigrationStatus = {
|
|
|
9
9
|
pending: string[];
|
|
10
10
|
orphanApplied: string[];
|
|
11
11
|
};
|
|
12
|
-
export declare function ensureMigrationsTable(
|
|
13
|
-
export declare function listAppliedMigrations(
|
|
14
|
-
export declare function getAppliedMigrations(
|
|
12
|
+
export declare function ensureMigrationsTable(client: DatabaseClient, dialect: Dialect, schema?: string): Promise<void>;
|
|
13
|
+
export declare function listAppliedMigrations(client: DatabaseClient, dialect: Dialect, schema?: string): Promise<MigrationRecord[]>;
|
|
14
|
+
export declare function getAppliedMigrations(client: DatabaseClient, dialect: Dialect, schema?: string): Promise<Set<string>>;
|
|
15
15
|
export declare function listMigrationsOnDisk(migrationsDir: string): Promise<string[]>;
|
|
16
16
|
export declare function computeMigrationStatus(diskMigrations: string[], applied: MigrationRecord[]): MigrationStatus;
|
|
17
|
-
export declare function migrateStatus(
|
|
17
|
+
export declare function migrateStatus(client: DatabaseClient, dialect: Dialect, migrationsDir: string, schema?: string): Promise<MigrationStatus>;
|
|
18
18
|
export declare function formatMigrateStatus(status: MigrationStatus, migrationsDir: string): string[];
|
|
19
|
-
export declare function resetDatabaseSchema(
|
|
20
|
-
export declare function migrateReset(
|
|
19
|
+
export declare function resetDatabaseSchema(client: DatabaseClient, dialect: Dialect, schema?: string): Promise<void>;
|
|
20
|
+
export declare function migrateReset(client: DatabaseClient, dialect: Dialect, migrationsDir: string, options: {
|
|
21
21
|
force: boolean;
|
|
22
22
|
skipApply?: boolean;
|
|
23
23
|
schema?: string;
|
|
@@ -25,11 +25,11 @@ export declare function migrateReset(pool: Pool, migrationsDir: string, options:
|
|
|
25
25
|
reapplied: string[];
|
|
26
26
|
}>;
|
|
27
27
|
export declare function listPendingMigrations(migrationsDir: string, applied: Set<string>): Promise<string[]>;
|
|
28
|
-
export declare function applySql(
|
|
29
|
-
export declare function applyMigration(
|
|
30
|
-
export declare function migrateDeploy(
|
|
31
|
-
export declare function revertMigration(
|
|
32
|
-
export declare function migrateDown(
|
|
28
|
+
export declare function applySql(client: DatabaseClient, sql: string[]): Promise<void>;
|
|
29
|
+
export declare function applyMigration(client: DatabaseClient, dialect: Dialect, migrationsDir: string, name: string, schema?: string): Promise<void>;
|
|
30
|
+
export declare function migrateDeploy(client: DatabaseClient, dialect: Dialect, migrationsDir: string, schema?: string): Promise<string[]>;
|
|
31
|
+
export declare function revertMigration(client: DatabaseClient, dialect: Dialect, migrationsDir: string, name: string, schema?: string): Promise<void>;
|
|
32
|
+
export declare function migrateDown(client: DatabaseClient, dialect: Dialect, migrationsDir: string, options?: {
|
|
33
33
|
steps?: number;
|
|
34
34
|
outDir?: string;
|
|
35
35
|
schema?: string;
|
|
@@ -43,7 +43,7 @@ export type DbPushOptions = {
|
|
|
43
43
|
schema?: string;
|
|
44
44
|
};
|
|
45
45
|
type DestructiveChange = import("../dialect/types.js").DestructiveChange;
|
|
46
|
-
export declare function dbPush(
|
|
46
|
+
export declare function dbPush(client: DatabaseClient, dialect: Dialect, target: Manifest, options?: DbPushOptions): Promise<DbPushResult>;
|
|
47
47
|
export declare function dbPushWarnings(blocked: DestructiveChange[]): string[];
|
|
48
48
|
export {};
|
|
49
49
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/migrate/runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/migrate/runner.ts"],"names":[],"mappings":"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"}
|