nanodb-orm 0.0.4 → 0.0.5
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 +379 -39
- package/dist/cli.d.ts +84 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +227 -149
- package/dist/cli.js.map +1 -1
- package/dist/core/connection.d.ts +6 -0
- package/dist/core/connection.d.ts.map +1 -1
- package/dist/core/connection.js +17 -3
- package/dist/core/connection.js.map +1 -1
- package/dist/index.d.ts +206 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +222 -50
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +114 -62
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +79 -44
- package/dist/init.js.map +1 -1
- package/dist/types/index.d.ts +176 -38
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/migrations.d.ts +2 -2
- package/dist/utils/migrations.d.ts.map +1 -1
- package/dist/utils/migrations.js +53 -48
- package/dist/utils/migrations.js.map +1 -1
- package/dist/utils/schema-introspection.d.ts +4 -4
- package/dist/utils/schema-introspection.d.ts.map +1 -1
- package/dist/utils/schema-introspection.js +0 -3
- package/dist/utils/schema-introspection.js.map +1 -1
- package/dist/utils/seeds.d.ts +2 -2
- package/dist/utils/seeds.d.ts.map +1 -1
- package/dist/utils/seeds.js +10 -1
- package/dist/utils/seeds.js.map +1 -1
- package/dist/utils/sync.d.ts.map +1 -1
- package/dist/utils/sync.js +11 -2
- package/dist/utils/sync.js.map +1 -1
- package/dist/utils/transactions.d.ts +58 -2
- package/dist/utils/transactions.d.ts.map +1 -1
- package/dist/utils/transactions.js +89 -8
- package/dist/utils/transactions.js.map +1 -1
- package/package.json +1 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -1,20 +1,104 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Type definitions for nanodb-orm
|
|
3
|
+
*
|
|
4
|
+
* This module provides fully type-safe types that integrate with Drizzle ORM's
|
|
5
|
+
* type system to provide compile-time safety for all database operations.
|
|
3
6
|
*/
|
|
7
|
+
import type { SQLiteTableWithColumns, TableConfig } from 'drizzle-orm/sqlite-core';
|
|
8
|
+
import type { InferSelectModel, InferInsertModel, SQL } from 'drizzle-orm';
|
|
9
|
+
import type { LibSQLDatabase } from 'drizzle-orm/libsql';
|
|
4
10
|
export * from './errors';
|
|
5
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* A SQLite table created with sqliteTable() or table().
|
|
13
|
+
* This preserves full type information about columns and their types.
|
|
14
|
+
*/
|
|
15
|
+
export type Table<T extends TableConfig = TableConfig> = SQLiteTableWithColumns<T>;
|
|
16
|
+
/**
|
|
17
|
+
* Any valid Drizzle SQLite table (used for generic constraints).
|
|
18
|
+
*/
|
|
19
|
+
export type AnyTable = SQLiteTableWithColumns<any>;
|
|
20
|
+
/**
|
|
21
|
+
* A schema definition - a record of table name to table definition.
|
|
22
|
+
*/
|
|
23
|
+
export type Schema = Record<string, AnyTable>;
|
|
24
|
+
/**
|
|
25
|
+
* Infer the select model (row type) from a table.
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* const users = table('users', { id: integer('id'), name: text('name') });
|
|
29
|
+
* type User = SelectModel<typeof users>;
|
|
30
|
+
* // { id: number; name: string | null }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export type SelectModel<T extends AnyTable> = InferSelectModel<T>;
|
|
34
|
+
/**
|
|
35
|
+
* Infer the insert model from a table (excludes auto-generated columns).
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* const users = table('users', { id: integer('id').primaryKey(), name: text('name') });
|
|
39
|
+
* type NewUser = InsertModel<typeof users>;
|
|
40
|
+
* // { id?: number; name: string | null }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export type InsertModel<T extends AnyTable> = InferInsertModel<T>;
|
|
44
|
+
/**
|
|
45
|
+
* Extract row types from all tables in a schema.
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* const schema = { users, posts };
|
|
49
|
+
* type Models = SchemaModels<typeof schema>;
|
|
50
|
+
* // { users: User; posts: Post }
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export type SchemaModels<S extends Schema> = {
|
|
54
|
+
[K in keyof S]: SelectModel<S[K]>;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Extract insert types from all tables in a schema.
|
|
58
|
+
*/
|
|
59
|
+
export type SchemaInsertModels<S extends Schema> = {
|
|
60
|
+
[K in keyof S]: InsertModel<S[K]>;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* The Drizzle database instance type with schema.
|
|
64
|
+
*/
|
|
65
|
+
export type DrizzleDB<S extends Schema = Schema> = LibSQLDatabase<S>;
|
|
66
|
+
/**
|
|
67
|
+
* Legacy alias for backwards compatibility.
|
|
68
|
+
* @deprecated Use `AnyTable` instead for better type safety.
|
|
69
|
+
*/
|
|
6
70
|
export type DrizzleTable = Record<string, any>;
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Hook function signature for CRUD operations.
|
|
73
|
+
* Generics allow for type-safe data transformation.
|
|
74
|
+
*/
|
|
75
|
+
export type HookFn<TData = unknown, TResult = unknown> = (table: string, data: TData, result?: TResult) => TData | void;
|
|
76
|
+
/**
|
|
77
|
+
* Error hook signature.
|
|
78
|
+
*/
|
|
10
79
|
export type ErrorHookFn = (error: Error, operation: string, table?: string) => void;
|
|
11
|
-
/**
|
|
80
|
+
/**
|
|
81
|
+
* Lifecycle hook signature.
|
|
82
|
+
*/
|
|
12
83
|
export type LifecycleHookFn = (db: any) => void;
|
|
13
|
-
/**
|
|
84
|
+
/**
|
|
85
|
+
* Plugin definition for extending nanodb-orm.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* const myPlugin: NanoPlugin = {
|
|
90
|
+
* name: 'audit',
|
|
91
|
+
* beforeInsert: (table, data) => {
|
|
92
|
+
* console.log(`Inserting into ${table}:`, data);
|
|
93
|
+
* return { ...data, createdAt: new Date().toISOString() };
|
|
94
|
+
* },
|
|
95
|
+
* };
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
14
98
|
export interface NanoPlugin {
|
|
15
99
|
/** Unique plugin name */
|
|
16
100
|
name: string;
|
|
17
|
-
/** Modify db instance during setup */
|
|
101
|
+
/** Modify db instance during setup. Receives the database instance and can extend it. */
|
|
18
102
|
install?: (db: any) => any;
|
|
19
103
|
beforeInsert?: HookFn;
|
|
20
104
|
afterInsert?: HookFn;
|
|
@@ -27,7 +111,31 @@ export interface NanoPlugin {
|
|
|
27
111
|
onError?: ErrorHookFn;
|
|
28
112
|
onReady?: LifecycleHookFn;
|
|
29
113
|
}
|
|
30
|
-
/**
|
|
114
|
+
/**
|
|
115
|
+
* Column definition metadata extracted from Drizzle tables.
|
|
116
|
+
*/
|
|
117
|
+
export interface ColumnMetadata {
|
|
118
|
+
name: string;
|
|
119
|
+
dataType: 'integer' | 'text' | 'real' | 'blob';
|
|
120
|
+
isPrimaryKey: boolean;
|
|
121
|
+
isAutoIncrement: boolean;
|
|
122
|
+
isNotNull: boolean;
|
|
123
|
+
isUnique: boolean;
|
|
124
|
+
defaultValue?: unknown;
|
|
125
|
+
references?: ForeignKeyReference;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Foreign key reference metadata.
|
|
129
|
+
*/
|
|
130
|
+
export interface ForeignKeyReference {
|
|
131
|
+
table: string;
|
|
132
|
+
column: string;
|
|
133
|
+
onDelete?: 'CASCADE' | 'SET NULL' | 'RESTRICT' | 'NO ACTION';
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Legacy Drizzle column interface for backwards compatibility.
|
|
137
|
+
* @deprecated Use `ColumnMetadata` for new code.
|
|
138
|
+
*/
|
|
31
139
|
export interface DrizzleColumn {
|
|
32
140
|
name?: string;
|
|
33
141
|
columnName?: string;
|
|
@@ -49,25 +157,9 @@ export interface DrizzleColumn {
|
|
|
49
157
|
onDelete?: string;
|
|
50
158
|
};
|
|
51
159
|
}
|
|
52
|
-
/**
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
queryChunks: unknown[];
|
|
56
|
-
}): Promise<QueryResult>;
|
|
57
|
-
insert?(table: unknown): {
|
|
58
|
-
values(data: unknown[]): Promise<void>;
|
|
59
|
-
};
|
|
60
|
-
$client?: {
|
|
61
|
-
sync?: () => Promise<void>;
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
/** Query result from database operations */
|
|
65
|
-
export interface QueryResult {
|
|
66
|
-
rows: Record<string, unknown>[];
|
|
67
|
-
changes?: number;
|
|
68
|
-
lastInsertRowid?: number;
|
|
69
|
-
}
|
|
70
|
-
/** Migration behavior configuration */
|
|
160
|
+
/**
|
|
161
|
+
* Migration behavior configuration.
|
|
162
|
+
*/
|
|
71
163
|
export interface MigrationConfig {
|
|
72
164
|
/** Preserve existing data during migrations (default: true) */
|
|
73
165
|
preserveData?: boolean;
|
|
@@ -76,25 +168,55 @@ export interface MigrationConfig {
|
|
|
76
168
|
/** Allow dropping tables (default: false) */
|
|
77
169
|
dropTables?: boolean;
|
|
78
170
|
}
|
|
79
|
-
/**
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
171
|
+
/**
|
|
172
|
+
* Schema initialization data with full type safety.
|
|
173
|
+
*/
|
|
174
|
+
export interface SchemaData<S extends Schema = Schema> {
|
|
175
|
+
/** Table definitions */
|
|
176
|
+
tables: S;
|
|
177
|
+
/** Initial seed data for tables */
|
|
178
|
+
seedData?: {
|
|
179
|
+
[K in keyof S]?: InsertModel<S[K]>[];
|
|
180
|
+
};
|
|
181
|
+
/** Migration configuration */
|
|
83
182
|
migrationConfig?: MigrationConfig;
|
|
84
183
|
}
|
|
85
|
-
/**
|
|
184
|
+
/**
|
|
185
|
+
* Database connection configuration.
|
|
186
|
+
*/
|
|
86
187
|
export interface DatabaseConfig {
|
|
87
188
|
connectionUrl: string;
|
|
88
189
|
authToken: string;
|
|
89
190
|
}
|
|
90
|
-
/**
|
|
191
|
+
/**
|
|
192
|
+
* Raw query result from database operations.
|
|
193
|
+
*/
|
|
194
|
+
export interface QueryResult<T = Record<string, unknown>> {
|
|
195
|
+
rows: T[];
|
|
196
|
+
changes?: number;
|
|
197
|
+
lastInsertRowid?: number | bigint;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Database client interface for raw queries.
|
|
201
|
+
*/
|
|
202
|
+
export interface DatabaseClient {
|
|
203
|
+
run(query: string | SQL): Promise<QueryResult>;
|
|
204
|
+
$client?: {
|
|
205
|
+
sync?: () => Promise<void>;
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Schema validation result.
|
|
210
|
+
*/
|
|
91
211
|
export interface SchemaValidation {
|
|
92
212
|
isValid: boolean;
|
|
93
213
|
missingTables: string[];
|
|
94
214
|
extraTables: string[];
|
|
95
215
|
errors: string[];
|
|
96
216
|
}
|
|
97
|
-
/**
|
|
217
|
+
/**
|
|
218
|
+
* Database health check result.
|
|
219
|
+
*/
|
|
98
220
|
export interface HealthCheck {
|
|
99
221
|
healthy: boolean;
|
|
100
222
|
tables: string[];
|
|
@@ -103,27 +225,35 @@ export interface HealthCheck {
|
|
|
103
225
|
schemaValid: boolean;
|
|
104
226
|
errors: string[];
|
|
105
227
|
}
|
|
106
|
-
/**
|
|
228
|
+
/**
|
|
229
|
+
* Database info summary.
|
|
230
|
+
*/
|
|
107
231
|
export interface DatabaseInfo {
|
|
108
232
|
tables: string[];
|
|
109
233
|
tableCounts: Record<string, number>;
|
|
110
234
|
totalRecords: number;
|
|
111
235
|
schemaValid: boolean;
|
|
112
236
|
}
|
|
113
|
-
/**
|
|
237
|
+
/**
|
|
238
|
+
* Sync operation result.
|
|
239
|
+
*/
|
|
114
240
|
export interface SyncResult {
|
|
115
241
|
success: boolean;
|
|
116
242
|
message: string;
|
|
117
243
|
tablesSynced: string[];
|
|
118
244
|
errors: string[];
|
|
119
245
|
}
|
|
120
|
-
/**
|
|
246
|
+
/**
|
|
247
|
+
* Foreign key definition.
|
|
248
|
+
*/
|
|
121
249
|
export interface ForeignKey {
|
|
122
250
|
column: string;
|
|
123
251
|
references: string;
|
|
124
252
|
table: string;
|
|
125
253
|
}
|
|
126
|
-
/**
|
|
254
|
+
/**
|
|
255
|
+
* Table metadata.
|
|
256
|
+
*/
|
|
127
257
|
export interface TableMetadata {
|
|
128
258
|
name: string;
|
|
129
259
|
columns: string[];
|
|
@@ -131,4 +261,12 @@ export interface TableMetadata {
|
|
|
131
261
|
foreignKeys: ForeignKey[];
|
|
132
262
|
indexes: string[];
|
|
133
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Extract the table name from a Drizzle table.
|
|
266
|
+
*/
|
|
267
|
+
export type TableName<T extends AnyTable> = T['_']['name'];
|
|
268
|
+
/**
|
|
269
|
+
* Check if a type is a valid Drizzle table.
|
|
270
|
+
*/
|
|
271
|
+
export type IsTable<T> = T extends AnyTable ? true : false;
|
|
134
272
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* Type definitions for nanodb-orm
|
|
4
|
+
*
|
|
5
|
+
* This module provides fully type-safe types that integrate with Drizzle ORM's
|
|
6
|
+
* type system to provide compile-time safety for all database operations.
|
|
4
7
|
*/
|
|
5
8
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
9
|
if (k2 === undefined) k2 = k;
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAaH,mBAAmB;AACnB,2CAAyB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AnyTable, MigrationConfig, SchemaValidation } from '../types';
|
|
2
2
|
export declare const DatabaseMigrations: {
|
|
3
3
|
/** Initialize with schema data */
|
|
4
4
|
initialize(data: {
|
|
5
|
-
tables: Record<string,
|
|
5
|
+
tables: Record<string, AnyTable>;
|
|
6
6
|
tableNames: string[];
|
|
7
7
|
migrationConfig?: MigrationConfig;
|
|
8
8
|
}): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../utils/migrations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../utils/migrations.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAe,MAAM,UAAU,CAAC;AAwCzF,eAAO,MAAM,kBAAkB;IAC7B,kCAAkC;qBACjB;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjC,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,IAAI;IAKR,oCAAoC;wBACV,OAAO,CAAC,IAAI,CAAC;IAgBvC,mCAAmC;qBACZ,OAAO,CAAC,IAAI,CAAC;IAQpC,sBAAsB;qBACC,OAAO,CAAC,IAAI,CAAC;IAYpC,+BAA+B;2BACF,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAW7D,uCAAuC;sBACf,OAAO,CAAC,gBAAgB,CAAC;CAsBlD,CAAC"}
|
package/dist/utils/migrations.js
CHANGED
|
@@ -98,7 +98,7 @@ async function ensureTable(name, table, db) {
|
|
|
98
98
|
const expectedCols = getColumnNames(table);
|
|
99
99
|
if (!exists) {
|
|
100
100
|
logger_1.logger.info(`Creating table: ${name}`);
|
|
101
|
-
await db.run(generateCreateSql(name, table));
|
|
101
|
+
await db.run(drizzle_orm_1.sql.raw(generateCreateSql(name, table)));
|
|
102
102
|
return;
|
|
103
103
|
}
|
|
104
104
|
const actualCols = await getActualColumns(name, db);
|
|
@@ -127,7 +127,7 @@ async function tableExists(name, db) {
|
|
|
127
127
|
const result = await db.run((0, drizzle_orm_1.sql) `
|
|
128
128
|
SELECT 1 FROM sqlite_master WHERE type='table' AND name=${name}
|
|
129
129
|
`);
|
|
130
|
-
return result.rows?.length > 0;
|
|
130
|
+
return (result.rows?.length ?? 0) > 0;
|
|
131
131
|
}
|
|
132
132
|
catch {
|
|
133
133
|
return false;
|
|
@@ -136,7 +136,9 @@ async function tableExists(name, db) {
|
|
|
136
136
|
async function tableHasData(name, db) {
|
|
137
137
|
try {
|
|
138
138
|
const result = await db.run((0, drizzle_orm_1.sql) `SELECT COUNT(*) as c FROM ${drizzle_orm_1.sql.identifier(name)}`);
|
|
139
|
-
|
|
139
|
+
const row = result.rows?.[0];
|
|
140
|
+
const count = row ? row.c : 0;
|
|
141
|
+
return (count ?? 0) > 0;
|
|
140
142
|
}
|
|
141
143
|
catch {
|
|
142
144
|
return false;
|
|
@@ -155,25 +157,53 @@ function getColumnNames(table) {
|
|
|
155
157
|
const cols = extractColumns(table);
|
|
156
158
|
return Object.keys(cols);
|
|
157
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Extract column information from a Drizzle table.
|
|
162
|
+
* Handles both real Drizzle tables and simple objects.
|
|
163
|
+
*/
|
|
158
164
|
function extractColumns(table) {
|
|
159
|
-
// Drizzle tables store columns in different ways
|
|
160
|
-
// 1. Real Drizzle table: columns are direct properties with .name
|
|
161
|
-
// 2. Simple object: columns are nested objects with dataType
|
|
162
165
|
const cols = {};
|
|
163
166
|
for (const [key, val] of Object.entries(table)) {
|
|
164
167
|
if (key.startsWith('_') || key === 'Symbol(drizzle:Name)')
|
|
165
168
|
continue;
|
|
166
169
|
if (typeof val !== 'object' || val === null)
|
|
167
170
|
continue;
|
|
168
|
-
const
|
|
171
|
+
const column = val;
|
|
169
172
|
// Check if it's a Drizzle column (has .name property that's a string)
|
|
170
|
-
|
|
171
|
-
|
|
173
|
+
const columnName = typeof column.name === 'string' ? column.name : key;
|
|
174
|
+
if (!column.name && !column.dataType)
|
|
175
|
+
continue;
|
|
176
|
+
// Determine SQL type
|
|
177
|
+
let dataType = 'TEXT';
|
|
178
|
+
const rawType = column.dataType ?? column.columnType ?? '';
|
|
179
|
+
const sqliteType = column.getSQLType?.() ?? '';
|
|
180
|
+
if (rawType.includes('integer') || sqliteType.includes('integer')) {
|
|
181
|
+
dataType = 'INTEGER';
|
|
182
|
+
}
|
|
183
|
+
else if (rawType.includes('real') || sqliteType.includes('real')) {
|
|
184
|
+
dataType = 'REAL';
|
|
172
185
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
186
|
+
else if (rawType.includes('blob') || sqliteType.includes('blob')) {
|
|
187
|
+
dataType = 'BLOB';
|
|
188
|
+
}
|
|
189
|
+
const info = {
|
|
190
|
+
name: columnName,
|
|
191
|
+
dataType,
|
|
192
|
+
isPrimary: column.primary === true || column.primaryKey === true,
|
|
193
|
+
hasAutoIncrement: column.autoIncrement === true || column.hasAutoIncrement === true,
|
|
194
|
+
isNotNull: column.notNull === true || column.isNotNull === true,
|
|
195
|
+
isUnique: column.unique === true || column.isUnique === true,
|
|
196
|
+
defaultValue: column.default ?? column.defaultValue,
|
|
197
|
+
};
|
|
198
|
+
if (column.references) {
|
|
199
|
+
const ref = column.references;
|
|
200
|
+
info.references = {
|
|
201
|
+
table: ref.table ?? ref.foreignTable?.tableName ?? 'unknown',
|
|
202
|
+
column: ref.column ?? ref.columnName ?? 'id',
|
|
203
|
+
onDelete: ref.onDelete ?? 'CASCADE',
|
|
204
|
+
};
|
|
176
205
|
}
|
|
206
|
+
cols[columnName] = info;
|
|
177
207
|
}
|
|
178
208
|
return cols;
|
|
179
209
|
}
|
|
@@ -188,59 +218,34 @@ function generateCreateSql(tableName, table) {
|
|
|
188
218
|
const cols = extractColumns(table);
|
|
189
219
|
const columnDefs = [];
|
|
190
220
|
const foreignKeys = [];
|
|
191
|
-
for (const [colName,
|
|
192
|
-
const
|
|
193
|
-
|
|
194
|
-
// Determine type - handle both Drizzle columns and simple objects
|
|
195
|
-
let sqlType = 'TEXT';
|
|
196
|
-
const dataType = col.dataType ?? col.columnType ?? '';
|
|
197
|
-
const sqliteType = col.getSQLType?.() ?? '';
|
|
198
|
-
if (dataType.includes('integer') || sqliteType.includes('integer') || dataType === 'integer') {
|
|
199
|
-
sqlType = 'INTEGER';
|
|
200
|
-
}
|
|
201
|
-
else if (dataType.includes('real') || sqliteType.includes('real') || dataType === 'real') {
|
|
202
|
-
sqlType = 'REAL';
|
|
203
|
-
}
|
|
204
|
-
else if (dataType.includes('blob') || sqliteType.includes('blob') || dataType === 'blob') {
|
|
205
|
-
sqlType = 'BLOB';
|
|
206
|
-
}
|
|
207
|
-
parts.push(sqlType);
|
|
208
|
-
// Primary key - check both Drizzle and simple format
|
|
209
|
-
const isPrimary = col.primary === true || col.primaryKey === true;
|
|
210
|
-
const hasAutoIncrement = col.autoIncrement === true || col.hasAutoIncrement === true;
|
|
211
|
-
if (isPrimary) {
|
|
221
|
+
for (const [colName, info] of Object.entries(cols)) {
|
|
222
|
+
const parts = [`"${colName}"`, info.dataType];
|
|
223
|
+
if (info.isPrimary) {
|
|
212
224
|
parts.push('PRIMARY KEY');
|
|
213
|
-
if (hasAutoIncrement)
|
|
225
|
+
if (info.hasAutoIncrement)
|
|
214
226
|
parts.push('AUTOINCREMENT');
|
|
215
227
|
}
|
|
216
|
-
|
|
217
|
-
const isNotNull = col.notNull === true || col.isNotNull === true;
|
|
218
|
-
if (isNotNull && !isPrimary)
|
|
228
|
+
if (info.isNotNull && !info.isPrimary)
|
|
219
229
|
parts.push('NOT NULL');
|
|
220
|
-
|
|
221
|
-
const isUnique = col.unique === true || col.isUnique === true;
|
|
222
|
-
if (isUnique)
|
|
230
|
+
if (info.isUnique)
|
|
223
231
|
parts.push('UNIQUE');
|
|
224
232
|
// Default value
|
|
225
|
-
|
|
226
|
-
|
|
233
|
+
if (info.defaultValue !== undefined) {
|
|
234
|
+
const defaultVal = info.defaultValue;
|
|
227
235
|
if (typeof defaultVal === 'string') {
|
|
228
236
|
parts.push(`DEFAULT '${defaultVal}'`);
|
|
229
237
|
}
|
|
230
238
|
else if (typeof defaultVal === 'number') {
|
|
231
239
|
parts.push(`DEFAULT ${defaultVal}`);
|
|
232
240
|
}
|
|
233
|
-
else if (defaultVal
|
|
241
|
+
else if (typeof defaultVal === 'object' && defaultVal !== null && 'sql' in defaultVal) {
|
|
234
242
|
parts.push(`DEFAULT ${defaultVal.sql}`);
|
|
235
243
|
}
|
|
236
244
|
}
|
|
237
245
|
columnDefs.push(parts.join(' '));
|
|
238
246
|
// Foreign key
|
|
239
|
-
if (
|
|
240
|
-
const
|
|
241
|
-
const refTable = ref.table ?? ref.foreignTable?.tableName ?? 'unknown';
|
|
242
|
-
const refCol = ref.column ?? ref.columnName ?? 'id';
|
|
243
|
-
const onDelete = ref.onDelete ?? 'CASCADE';
|
|
247
|
+
if (info.references) {
|
|
248
|
+
const { table: refTable, column: refCol, onDelete } = info.references;
|
|
244
249
|
foreignKeys.push(`FOREIGN KEY ("${colName}") REFERENCES "${refTable}"("${refCol}") ON DELETE ${onDelete}`);
|
|
245
250
|
}
|
|
246
251
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../utils/migrations.ts"],"names":[],"mappings":";;;AAAA,6CAAkC;
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../utils/migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AnyTable, TableMetadata, SchemaValidation } from '../types';
|
|
2
2
|
export declare const SchemaIntrospection: {
|
|
3
3
|
/** Initialize with schema data */
|
|
4
4
|
initialize(data: {
|
|
5
|
-
tables: Record<string,
|
|
5
|
+
tables: Record<string, AnyTable>;
|
|
6
6
|
tableNames: string[];
|
|
7
7
|
}): void;
|
|
8
8
|
/** Get all table names */
|
|
9
9
|
getAllTableNames(): string[];
|
|
10
10
|
/** Get all tables */
|
|
11
|
-
getAllTables(): Record<string,
|
|
11
|
+
getAllTables(): Record<string, AnyTable>;
|
|
12
12
|
/** Get table count */
|
|
13
13
|
getTableCount(): number;
|
|
14
14
|
/** Get a specific table by name */
|
|
15
|
-
getTable(name: string):
|
|
15
|
+
getTable(name: string): AnyTable;
|
|
16
16
|
/** Check if table exists in schema */
|
|
17
17
|
hasTable(name: string): boolean;
|
|
18
18
|
/** Get table column names */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-introspection.d.ts","sourceRoot":"","sources":["../../utils/schema-introspection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema-introspection.d.ts","sourceRoot":"","sources":["../../utils/schema-introspection.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAc,aAAa,EAAE,gBAAgB,EAAe,MAAM,UAAU,CAAC;AAqBnG,eAAO,MAAM,mBAAmB;IAC9B,kCAAkC;qBACjB;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAKlF,0BAA0B;wBACN,MAAM,EAAE;IAI5B,qBAAqB;oBACL,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IAIxC,sBAAsB;qBACL,MAAM;IAIvB,mCAAmC;mBACpB,MAAM,GAAG,QAAQ;IAMhC,sCAAsC;mBACvB,MAAM,GAAG,OAAO;IAI/B,6BAA6B;0BACP,MAAM,GAAG,MAAM,EAAE;IAKvC,yBAAyB;uBACN,MAAM,GAAG,aAAa;IAWzC,6BAA6B;uBACV,aAAa,EAAE;IAIlC,4BAA4B;sBACV;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,aAAa,EAAE,CAAC;KAC/B;IAQD,uCAAuC;sBACf,OAAO,CAAC,gBAAgB,CAAC;IA6BjD,wCAAwC;6BACf,KAAK,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CAuBH,CAAC"}
|
|
@@ -115,9 +115,6 @@ exports.SchemaIntrospection = {
|
|
|
115
115
|
return relationships;
|
|
116
116
|
},
|
|
117
117
|
};
|
|
118
|
-
// ============================================================================
|
|
119
|
-
// Internal Functions
|
|
120
|
-
// ============================================================================
|
|
121
118
|
function getColumns(table) {
|
|
122
119
|
const cols = {};
|
|
123
120
|
for (const [key, val] of Object.entries(table)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-introspection.js","sourceRoot":"","sources":["../../utils/schema-introspection.ts"],"names":[],"mappings":";;;AAAA,6CAAkC;
|
|
1
|
+
{"version":3,"file":"schema-introspection.js","sourceRoot":"","sources":["../../utils/schema-introspection.ts"],"names":[],"mappings":";;;AAAA,6CAAkC;AAElC,mDAAwD;AACxD,4CAA8C;AAG9C,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,IAAI,MAAM,GAA6B,EAAE,CAAC;AAC1C,IAAI,UAAU,GAAa,EAAE,CAAC;AAU9B,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAElE,QAAA,mBAAmB,GAAG;IACjC,kCAAkC;IAClC,UAAU,CAAC,IAAgE;QACzE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IAC/B,CAAC;IAED,0BAA0B;IAC1B,gBAAgB;QACd,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,qBAAqB;IACrB,YAAY;QACV,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,sBAAsB;IACtB,aAAa;QACX,OAAO,UAAU,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,mCAAmC;IACnC,QAAQ,CAAC,IAAY;QACnB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,oBAAW,CAAC,SAAS,IAAI,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sCAAsC;IACtC,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,IAAI,MAAM,CAAC;IACxB,CAAC;IAED,6BAA6B;IAC7B,eAAe,CAAC,IAAY;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,yBAAyB;IACzB,YAAY,CAAC,IAAY;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;YAC9B,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC;YACjC,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC;YAClC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,eAAe;QACb,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,4BAA4B;IAC5B,cAAc;QAKZ,OAAO;YACL,WAAW,EAAE,UAAU,CAAC,MAAM;YAC9B,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC;YAC3B,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;SACrC,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,+BAAkB,CAAC,WAAW,EAA6B,CAAC;YAE7E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,IAAA,iBAAG,EAAA;;;OAG9B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAa,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACvF,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAEpE,OAAO;gBACL,OAAO,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;gBACnC,aAAa;gBACb,WAAW;gBACX,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,EAAE;gBACf,MAAM,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,qBAAqB;QAMnB,MAAM,aAAa,GAKd,EAAE,CAAC;QAER,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,KAAK,MAAM,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,aAAa,CAAC,IAAI,CAAC;oBACjB,SAAS,EAAE,IAAI;oBACf,UAAU,EAAE,EAAE,CAAC,MAAM;oBACrB,OAAO,EAAE,EAAE,CAAC,KAAK;oBACjB,QAAQ,EAAE,EAAE,CAAC,UAAU;iBACxB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;CACF,CAAC;AAoBF,SAAS,UAAU,CAAC,KAAe;IACjC,MAAM,IAAI,GAAgC,EAAE,CAAC;IAE7C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,sBAAsB;YAAE,SAAS;QACpE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QAEtD,MAAM,CAAC,GAAG,GAQT,CAAC;QAEF,sCAAsC;QACtC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAgB,CAAC;QAClC,CAAC;QACD,0CAA0C;aACrC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,KAAe;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,cAAc,CAAC,KAAe;IACrC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC;SACpE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,cAAc,CAAC,KAAe;IACrC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAiB,EAAE,CAAC;IAE7B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,YAAY,EAAE,SAAS,IAAI,SAAS;gBAC5D,UAAU,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI;aACjD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAe;IACxC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;SACjE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
|
package/dist/utils/seeds.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AnyTable } from '../types';
|
|
2
2
|
export declare const DatabaseSeeds: {
|
|
3
3
|
/** Initialize with schema and seed data */
|
|
4
4
|
initialize(data: {
|
|
5
|
-
tables: Record<string,
|
|
5
|
+
tables: Record<string, AnyTable>;
|
|
6
6
|
tableNames: string[];
|
|
7
7
|
seedData?: Record<string, Record<string, unknown>[]>;
|
|
8
8
|
}): void;
|