nanodb-orm 0.0.6 → 0.0.7
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 +75 -3
- package/dist/core/connection.d.ts +8 -0
- package/dist/core/connection.d.ts.map +1 -1
- package/dist/core/connection.js +14 -0
- package/dist/core/connection.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +7 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +17 -15
- package/dist/init.js.map +1 -1
- package/dist/replicas.d.ts +28 -0
- package/dist/replicas.d.ts.map +1 -0
- package/dist/replicas.js +84 -0
- package/dist/replicas.js.map +1 -0
- package/dist/utils/migrations.d.ts +12 -5
- package/dist/utils/migrations.d.ts.map +1 -1
- package/dist/utils/migrations.js +11 -11
- package/dist/utils/migrations.js.map +1 -1
- package/dist/utils/schema-introspection.d.ts +8 -1
- package/dist/utils/schema-introspection.d.ts.map +1 -1
- package/dist/utils/schema-introspection.js +2 -2
- package/dist/utils/schema-introspection.js.map +1 -1
- package/dist/utils/seeds.d.ts +11 -4
- package/dist/utils/seeds.d.ts.map +1 -1
- package/dist/utils/seeds.js +10 -10
- package/dist/utils/seeds.js.map +1 -1
- package/dist/utils/sync.d.ts +16 -6
- package/dist/utils/sync.d.ts.map +1 -1
- package/dist/utils/sync.js +15 -15
- package/dist/utils/sync.js.map +1 -1
- package/package.json +20 -8
package/README.md
CHANGED
|
@@ -17,11 +17,19 @@ A lightweight ORM wrapper for Drizzle ORM with automatic migrations, schema intr
|
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
19
|
npm install nanodb-orm
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
> **Important:** All interactions should go through `nanodb-orm`.
|
|
23
|
+
> Use `nanodb-orm` exports for schema, queries, and utilities instead of importing from Drizzle directly.
|
|
20
24
|
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
Optional plugins:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install @nanodb-orm/plugin-timestamps @nanodb-orm/plugin-soft-delete @nanodb-orm/plugin-logger
|
|
23
29
|
```
|
|
24
30
|
|
|
31
|
+
Preview features: embedded replicas (opt-in via config switch).
|
|
32
|
+
|
|
25
33
|
## CLI
|
|
26
34
|
|
|
27
35
|
nanodb-orm includes a CLI for common database operations:
|
|
@@ -338,7 +346,66 @@ try {
|
|
|
338
346
|
|
|
339
347
|
## Plugins
|
|
340
348
|
|
|
341
|
-
Extend nanodb-orm with
|
|
349
|
+
Extend nanodb-orm with hooks that run automatically on database operations.
|
|
350
|
+
|
|
351
|
+
### Official Plugin Packages
|
|
352
|
+
|
|
353
|
+
Official plugins are published as separate npm packages:
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
npm install @nanodb-orm/plugin-timestamps @nanodb-orm/plugin-soft-delete @nanodb-orm/plugin-logger
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
```typescript
|
|
360
|
+
import { createDatabase } from 'nanodb-orm';
|
|
361
|
+
import { timestamps } from '@nanodb-orm/plugin-timestamps';
|
|
362
|
+
import { softDelete } from '@nanodb-orm/plugin-soft-delete';
|
|
363
|
+
import { queryLogger } from '@nanodb-orm/plugin-logger';
|
|
364
|
+
|
|
365
|
+
const db = await createDatabase({
|
|
366
|
+
tables: { users, posts },
|
|
367
|
+
plugins: [
|
|
368
|
+
timestamps(), // Auto createdAt/updatedAt
|
|
369
|
+
queryLogger({ level: 'info' }), // SQL logging with timing
|
|
370
|
+
softDelete({ tables: ['posts'] }), // Soft delete for posts
|
|
371
|
+
],
|
|
372
|
+
});
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
| Package | Function | Description |
|
|
376
|
+
|---------|----------|-------------|
|
|
377
|
+
| `@nanodb-orm/plugin-timestamps` | `timestamps()` | Auto-add `createdAt` / `updatedAt` |
|
|
378
|
+
| `@nanodb-orm/plugin-logger` | `queryLogger()` | Log SQL operations with timing |
|
|
379
|
+
| `@nanodb-orm/plugin-soft-delete` | `softDelete()` | Mark as deleted instead of remove |
|
|
380
|
+
|
|
381
|
+
### Preview: Embedded Replicas
|
|
382
|
+
|
|
383
|
+
This feature is built into `nanodb-orm` and guarded by a config switch.
|
|
384
|
+
|
|
385
|
+
```typescript
|
|
386
|
+
import { createReplicatedDatabase } from 'nanodb-orm';
|
|
387
|
+
import { schema } from 'nanodb-orm';
|
|
388
|
+
|
|
389
|
+
const users = schema.table('users', {
|
|
390
|
+
id: schema.text('id').primaryKey(),
|
|
391
|
+
name: schema.text('name').notNull(),
|
|
392
|
+
});
|
|
393
|
+
|
|
394
|
+
const db = await createReplicatedDatabase({
|
|
395
|
+
tables: { users },
|
|
396
|
+
primary: { id: 'primary', connectionUrl: 'libsql://primary.turso.io', authToken: '...' },
|
|
397
|
+
replicas: [
|
|
398
|
+
{ id: 'replica-1', connectionUrl: 'libsql://replica1.turso.io', authToken: '...' },
|
|
399
|
+
{ id: 'replica-2', connectionUrl: 'libsql://replica2.turso.io', authToken: '...' },
|
|
400
|
+
],
|
|
401
|
+
preview: { enabled: true },
|
|
402
|
+
});
|
|
403
|
+
|
|
404
|
+
await db.write().insert(users).values({ id: 'user-123', name: 'Alice' });
|
|
405
|
+
const rows = await db.read().select().from(users);
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
> Embedded replicas are the recommended first step before sharding.
|
|
342
409
|
|
|
343
410
|
### Plugin Interface
|
|
344
411
|
|
|
@@ -670,6 +737,11 @@ nanodb.query // .eq, .gte, .and, .or, .sql, .count, ...
|
|
|
670
737
|
nanodb.errors // .DatabaseError, .parse
|
|
671
738
|
nanodb.cli // .studio, .setup, .reset, .status, .validate
|
|
672
739
|
|
|
740
|
+
// Official plugins (separate packages)
|
|
741
|
+
import { timestamps } from '@nanodb-orm/plugin-timestamps';
|
|
742
|
+
import { softDelete } from '@nanodb-orm/plugin-soft-delete';
|
|
743
|
+
import { queryLogger } from '@nanodb-orm/plugin-logger';
|
|
744
|
+
|
|
673
745
|
// Types (named imports)
|
|
674
746
|
import { type SelectModel, type InsertModel, type NanoPlugin } from 'nanodb-orm';
|
|
675
747
|
```
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { drizzle } from 'drizzle-orm/libsql';
|
|
2
2
|
type DrizzleInstance = ReturnType<typeof drizzle>;
|
|
3
|
+
export interface ConnectionOverride {
|
|
4
|
+
connectionUrl?: string;
|
|
5
|
+
authToken?: string;
|
|
6
|
+
forceLocal?: boolean;
|
|
7
|
+
databasePath?: string;
|
|
8
|
+
}
|
|
3
9
|
/**
|
|
4
10
|
* Thread-safe singleton database connection manager.
|
|
5
11
|
* Supports both Turso (remote) and local SQLite databases.
|
|
@@ -17,6 +23,8 @@ export declare class DatabaseConnection {
|
|
|
17
23
|
static getInstance(): Promise<DrizzleInstance>;
|
|
18
24
|
/** Create a new database connection */
|
|
19
25
|
private static createConnection;
|
|
26
|
+
/** Create a new database connection without caching */
|
|
27
|
+
static createInstance(override?: ConnectionOverride): Promise<DrizzleInstance>;
|
|
20
28
|
/** Reset the connection (for testing) */
|
|
21
29
|
static reset(): void;
|
|
22
30
|
/** Check if a connection exists */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../core/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAElD;;;;;;;;;GASG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgC;IACvD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAyC;IAE/D,+DAA+D;WAClD,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAcpD,uCAAuC;mBAClB,gBAAgB;IA4BrC,yCAAyC;IACzC,MAAM,CAAC,KAAK,IAAI,IAAI;IAKpB,mCAAmC;IACnC,MAAM,CAAC,WAAW,IAAI,OAAO;CAG9B"}
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../core/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgC;IACvD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAyC;IAE/D,+DAA+D;WAClD,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAcpD,uCAAuC;mBAClB,gBAAgB;IA4BrC,uDAAuD;WAC1C,cAAc,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IAgBpF,yCAAyC;IACzC,MAAM,CAAC,KAAK,IAAI,IAAI;IAKpB,mCAAmC;IACnC,MAAM,CAAC,WAAW,IAAI,OAAO;CAG9B"}
|
package/dist/core/connection.js
CHANGED
|
@@ -57,6 +57,20 @@ class DatabaseConnection {
|
|
|
57
57
|
return (0, libsql_1.drizzle)((0, client_1.createClient)({ url: `file:${dbPath}` }));
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
+
/** Create a new database connection without caching */
|
|
61
|
+
static async createInstance(override) {
|
|
62
|
+
if (override?.connectionUrl) {
|
|
63
|
+
const clientConfig = override.authToken
|
|
64
|
+
? { url: override.connectionUrl, authToken: override.authToken }
|
|
65
|
+
: { url: override.connectionUrl };
|
|
66
|
+
return (0, libsql_1.drizzle)((0, client_1.createClient)(clientConfig));
|
|
67
|
+
}
|
|
68
|
+
if (override?.forceLocal || override?.databasePath) {
|
|
69
|
+
const dbPath = override.databasePath ?? 'database.db';
|
|
70
|
+
return (0, libsql_1.drizzle)((0, client_1.createClient)({ url: `file:${dbPath}` }));
|
|
71
|
+
}
|
|
72
|
+
return this.createConnection();
|
|
73
|
+
}
|
|
60
74
|
/** Reset the connection (for testing) */
|
|
61
75
|
static reset() {
|
|
62
76
|
this.instance = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../core/connection.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAC7C,2CAA8C;AAC9C,qCAA6C;
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../core/connection.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -133,7 +133,9 @@ export declare const cli: {
|
|
|
133
133
|
validate: typeof runValidate;
|
|
134
134
|
};
|
|
135
135
|
export { createDatabase, initializeDatabase } from './init';
|
|
136
|
+
export { createReplicatedDatabase, } from './replicas';
|
|
136
137
|
export type { CreateDatabaseConfig, NanoDatabase, Hooks, SchemaUtils, MigrationUtils, PluginUtils, } from './init';
|
|
138
|
+
export type { ReplicatedDatabase, ReplicatedDatabaseConfig, ReplicaConnection, ReadStrategy, } from './replicas';
|
|
137
139
|
export type { Table, AnyTable, Schema, SelectModel, InsertModel, SchemaModels, SchemaInsertModels, DrizzleDB, NanoPlugin, HookFn, ErrorHookFn, LifecycleHookFn, ColumnMetadata, ForeignKeyReference, SchemaData, MigrationConfig, DatabaseConfig, DatabaseInfo, HealthCheck, SyncResult, SchemaValidation, ForeignKey, TableMetadata, QueryResult, DatabaseClient, DrizzleTable, DrizzleColumn, } from './types';
|
|
138
140
|
export type { StudioOptions, StatusResult, ValidationResult, } from './cli';
|
|
139
141
|
export type { InferSelectModel, InferInsertModel, } from 'drizzle-orm';
|
|
@@ -144,7 +146,7 @@ export { DatabaseSync } from './utils/sync';
|
|
|
144
146
|
export { DatabaseMigrations } from './utils/migrations';
|
|
145
147
|
export { DatabaseSeeds } from './utils/seeds';
|
|
146
148
|
export { SchemaIntrospection } from './utils/schema-introspection';
|
|
147
|
-
export { transaction, batch, recreateTable } from './utils/transactions';
|
|
149
|
+
export { transaction, batch, recreateTable, migrateTablePreservingData } from './utils/transactions';
|
|
148
150
|
export { launchStudio, runSetup, runReset, getStatus, runValidate, } from './cli';
|
|
149
151
|
export declare const table: import("drizzle-orm/sqlite-core").SQLiteTableFn<undefined>;
|
|
150
152
|
export { sqliteTable };
|
|
@@ -162,6 +164,7 @@ export declare const column: {
|
|
|
162
164
|
export { eq, ne, gt, gte, lt, lte, like, ilike, notLike, and, or, not, between, inArray, notInArray, isNull, isNotNull, desc, asc, count, sum, avg, min, max, sql, } from 'drizzle-orm';
|
|
163
165
|
import { createDatabase, initializeDatabase } from './init';
|
|
164
166
|
import { transaction, batch } from './utils/transactions';
|
|
167
|
+
import { createReplicatedDatabase } from './replicas';
|
|
165
168
|
/**
|
|
166
169
|
* Default export with all nanodb-orm functionality.
|
|
167
170
|
*
|
|
@@ -181,6 +184,7 @@ import { transaction, batch } from './utils/transactions';
|
|
|
181
184
|
declare const nanodb: {
|
|
182
185
|
createDatabase: typeof createDatabase;
|
|
183
186
|
initializeDatabase: typeof initializeDatabase;
|
|
187
|
+
createReplicatedDatabase: typeof createReplicatedDatabase;
|
|
184
188
|
transaction: typeof transaction;
|
|
185
189
|
batch: typeof batch;
|
|
186
190
|
schema: {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EACL,WAAW,EACX,OAAO,IAAI,cAAc,EACzB,IAAI,IAAI,WAAW,EACnB,IAAI,IAAI,WAAW,EACnB,IAAI,IAAI,WAAW,EACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAOL,IAAI,IAAI,WAAW,EACnB,KAAK,IAAI,YAAY,EACrB,OAAO,IAAI,cAAc,EACzB,GAAG,IAAI,UAAU,EACjB,EAAE,IAAI,SAAS,EACf,GAAG,IAAI,UAAU,EACjB,OAAO,IAAI,cAAc,EACzB,OAAO,IAAI,cAAc,EACzB,UAAU,IAAI,iBAAiB,EAC/B,MAAM,IAAI,aAAa,EACvB,SAAS,IAAI,gBAAgB,EAC7B,IAAI,IAAI,WAAW,EACnB,GAAG,IAAI,UAAU,EACjB,KAAK,IAAI,YAAY,EACrB,GAAG,IAAI,UAAU,EACjB,GAAG,IAAI,UAAU,EACjB,GAAG,IAAI,UAAU,EACjB,GAAG,IAAI,UAAU,EACjB,GAAG,IAAI,UAAU,EAClB,MAAM,aAAa,CAAC;AAMrB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM;;;;;;CAMlB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCjB,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,aAAa,EACb,WAAW,EACX,eAAe,EACf,cAAc,EACd,SAAS,EACT,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,MAAM;;;;;;;CAOlB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,WAAW,EACZ,MAAM,OAAO,CAAC;AAEf,eAAO,MAAM,GAAG;;;;;;CAMf,CAAC;AAMF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5D,YAAY,EACV,oBAAoB,EACpB,YAAY,EACZ,KAAK,EACL,WAAW,EACX,cAAc,EACd,WAAW,GACZ,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
27
|
-
exports.sql = exports.max = exports.min = exports.avg = exports.sum = exports.count = exports.asc = exports.desc = void 0;
|
|
26
|
+
exports.notInArray = exports.inArray = exports.between = exports.not = exports.or = exports.and = exports.notLike = exports.ilike = exports.like = exports.lte = exports.lt = exports.gte = exports.gt = exports.ne = exports.eq = exports.column = exports.blob = exports.real = exports.text = exports.integer = exports.sqliteTable = exports.table = exports.runValidate = exports.getStatus = exports.runReset = exports.runSetup = exports.launchStudio = exports.migrateTablePreservingData = exports.recreateTable = exports.batch = exports.transaction = exports.SchemaIntrospection = exports.DatabaseSeeds = exports.DatabaseMigrations = exports.DatabaseSync = exports.getDatabaseConfig = exports.DatabaseConnection = exports.parseDbError = exports.SeedError = exports.MigrationError = exports.ConnectionError = exports.SchemaError = exports.DatabaseError = exports.createReplicatedDatabase = exports.initializeDatabase = exports.createDatabase = exports.cli = exports.errors = exports.query = exports.schema = void 0;
|
|
27
|
+
exports.sql = exports.max = exports.min = exports.avg = exports.sum = exports.count = exports.asc = exports.desc = exports.isNotNull = exports.isNull = void 0;
|
|
28
28
|
const sqlite_core_1 = require("drizzle-orm/sqlite-core");
|
|
29
29
|
Object.defineProperty(exports, "sqliteTable", { enumerable: true, get: function () { return sqlite_core_1.sqliteTable; } });
|
|
30
30
|
const drizzle_orm_1 = require("drizzle-orm");
|
|
@@ -152,6 +152,8 @@ exports.cli = {
|
|
|
152
152
|
var init_1 = require("./init");
|
|
153
153
|
Object.defineProperty(exports, "createDatabase", { enumerable: true, get: function () { return init_1.createDatabase; } });
|
|
154
154
|
Object.defineProperty(exports, "initializeDatabase", { enumerable: true, get: function () { return init_1.initializeDatabase; } });
|
|
155
|
+
var replicas_1 = require("./replicas");
|
|
156
|
+
Object.defineProperty(exports, "createReplicatedDatabase", { enumerable: true, get: function () { return replicas_1.createReplicatedDatabase; } });
|
|
155
157
|
// =============================================================================
|
|
156
158
|
// INDIVIDUAL EXPORTS (for tree-shaking or preference)
|
|
157
159
|
// =============================================================================
|
|
@@ -180,6 +182,7 @@ var transactions_1 = require("./utils/transactions");
|
|
|
180
182
|
Object.defineProperty(exports, "transaction", { enumerable: true, get: function () { return transactions_1.transaction; } });
|
|
181
183
|
Object.defineProperty(exports, "batch", { enumerable: true, get: function () { return transactions_1.batch; } });
|
|
182
184
|
Object.defineProperty(exports, "recreateTable", { enumerable: true, get: function () { return transactions_1.recreateTable; } });
|
|
185
|
+
Object.defineProperty(exports, "migrateTablePreservingData", { enumerable: true, get: function () { return transactions_1.migrateTablePreservingData; } });
|
|
183
186
|
// CLI (individual)
|
|
184
187
|
var cli_2 = require("./cli");
|
|
185
188
|
Object.defineProperty(exports, "launchStudio", { enumerable: true, get: function () { return cli_2.launchStudio; } });
|
|
@@ -226,6 +229,7 @@ Object.defineProperty(exports, "sql", { enumerable: true, get: function () { ret
|
|
|
226
229
|
// =============================================================================
|
|
227
230
|
const init_2 = require("./init");
|
|
228
231
|
const transactions_2 = require("./utils/transactions");
|
|
232
|
+
const replicas_2 = require("./replicas");
|
|
229
233
|
/**
|
|
230
234
|
* Default export with all nanodb-orm functionality.
|
|
231
235
|
*
|
|
@@ -246,6 +250,7 @@ const nanodb = {
|
|
|
246
250
|
// Main API
|
|
247
251
|
createDatabase: init_2.createDatabase,
|
|
248
252
|
initializeDatabase: init_2.initializeDatabase,
|
|
253
|
+
createReplicatedDatabase: replicas_2.createReplicatedDatabase,
|
|
249
254
|
transaction: transactions_2.transaction,
|
|
250
255
|
batch: transactions_2.batch,
|
|
251
256
|
// Grouped utilities
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;;AAEH,yDAMiC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;;AAEH,yDAMiC;AA8RxB,4FAnSP,yBAAW,OAmSO;AA5RpB,6CA0BqB;AAErB,gFAAgF;AAChF,oDAAoD;AACpD,gFAAgF;AAEhF;;;;;;;;;;;;;GAaG;AACU,QAAA,MAAM,GAAG;IACpB,KAAK,EAAE,yBAAW;IAClB,OAAO,EAAE,qBAAc;IACvB,IAAI,EAAE,kBAAW;IACjB,IAAI,EAAE,kBAAW;IACjB,IAAI,EAAE,kBAAW;CAClB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACU,QAAA,KAAK,GAAG;IACnB,aAAa;IACb,EAAE,EAAE,gBAAS;IACb,EAAE,EAAE,gBAAS;IACb,EAAE,EAAE,gBAAS;IACb,GAAG,EAAE,iBAAU;IACf,EAAE,EAAE,gBAAS;IACb,GAAG,EAAE,iBAAU;IACf,IAAI,EAAE,kBAAW;IACjB,KAAK,EAAE,mBAAY;IACnB,OAAO,EAAE,qBAAc;IACvB,UAAU;IACV,GAAG,EAAE,iBAAU;IACf,EAAE,EAAE,gBAAS;IACb,GAAG,EAAE,iBAAU;IACf,QAAQ;IACR,OAAO,EAAE,qBAAc;IACvB,OAAO,EAAE,qBAAc;IACvB,UAAU,EAAE,wBAAiB;IAC7B,MAAM,EAAE,oBAAa;IACrB,SAAS,EAAE,uBAAgB;IAC3B,WAAW;IACX,IAAI,EAAE,kBAAW;IACjB,GAAG,EAAE,iBAAU;IACf,aAAa;IACb,KAAK,EAAE,mBAAY;IACnB,GAAG,EAAE,iBAAU;IACf,GAAG,EAAE,iBAAU;IACf,GAAG,EAAE,iBAAU;IACf,GAAG,EAAE,iBAAU;IACf,UAAU;IACV,GAAG,EAAE,iBAAU;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,2CAOwB;AAEX,QAAA,MAAM,GAAG;IACpB,aAAa,EAAb,sBAAa;IACb,WAAW,EAAX,oBAAW;IACX,eAAe,EAAf,wBAAe;IACf,cAAc,EAAd,uBAAc;IACd,SAAS,EAAT,kBAAS;IACT,KAAK,EAAE,qBAAY;CACpB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,+BAMe;AAEF,QAAA,GAAG,GAAG;IACjB,MAAM,EAAE,kBAAY;IACpB,KAAK,EAAE,cAAQ;IACf,KAAK,EAAE,cAAQ;IACf,MAAM,EAAE,eAAS;IACjB,QAAQ,EAAE,iBAAW;CACtB,CAAC;AAEF,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF,+BAA4D;AAAnD,sGAAA,cAAc,OAAA;AAAE,0GAAA,kBAAkB,OAAA;AAC3C,uCAEoB;AADlB,oHAAA,wBAAwB,OAAA;AA8E1B,gFAAgF;AAChF,sDAAsD;AACtD,gFAAgF;AAEhF,sBAAsB;AACtB,yCAOwB;AANtB,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,yGAAA,eAAe,OAAA;AACf,wGAAA,cAAc,OAAA;AACd,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AAGd,YAAY;AACZ,gDAAuD;AAA9C,gHAAA,kBAAkB,OAAA;AAC3B,wCAAkD;AAAzC,2GAAA,iBAAiB,OAAA;AAC1B,qCAA4C;AAAnC,oGAAA,YAAY,OAAA;AACrB,iDAAwD;AAA/C,gHAAA,kBAAkB,OAAA;AAC3B,uCAA8C;AAArC,sGAAA,aAAa,OAAA;AACtB,qEAAmE;AAA1D,2HAAA,mBAAmB,OAAA;AAC5B,qDAAqG;AAA5F,2GAAA,WAAW,OAAA;AAAE,qGAAA,KAAK,OAAA;AAAE,6GAAA,aAAa,OAAA;AAAE,0HAAA,0BAA0B,OAAA;AAEtE,mBAAmB;AACnB,6BAMe;AALb,mGAAA,YAAY,OAAA;AACZ,+FAAA,QAAQ,OAAA;AACR,+FAAA,QAAQ,OAAA;AACR,gGAAA,SAAS,OAAA;AACT,kGAAA,WAAW,OAAA;AAGb,+BAA+B;AAClB,QAAA,KAAK,GAAG,yBAAW,CAAC;AAEpB,QAAA,OAAO,GAAG,qBAAc,CAAC;AACzB,QAAA,IAAI,GAAG,kBAAW,CAAC;AACnB,QAAA,IAAI,GAAG,kBAAW,CAAC;AACnB,QAAA,IAAI,GAAG,kBAAW,CAAC;AACnB,QAAA,MAAM,GAAG,cAAM,CAAC,CAAC,QAAQ;AAEtC,+BAA+B;AAC/B,2CAMqB;AALnB,iGAAA,EAAE,OAAA;AAAE,iGAAA,EAAE,OAAA;AAAE,iGAAA,EAAE,OAAA;AAAE,kGAAA,GAAG,OAAA;AAAE,iGAAA,EAAE,OAAA;AAAE,kGAAA,GAAG,OAAA;AAAE,mGAAA,IAAI,OAAA;AAAE,oGAAA,KAAK,OAAA;AAAE,sGAAA,OAAO,OAAA;AAC9C,kGAAA,GAAG,OAAA;AAAE,iGAAA,EAAE,OAAA;AAAE,kGAAA,GAAG,OAAA;AAAE,sGAAA,OAAO,OAAA;AAAE,sGAAA,OAAO,OAAA;AAAE,yGAAA,UAAU,OAAA;AAAE,qGAAA,MAAM,OAAA;AAAE,wGAAA,SAAS,OAAA;AAC7D,mGAAA,IAAI,OAAA;AAAE,kGAAA,GAAG,OAAA;AACT,oGAAA,KAAK,OAAA;AAAE,kGAAA,GAAG,OAAA;AAAE,kGAAA,GAAG,OAAA;AAAE,kGAAA,GAAG,OAAA;AAAE,kGAAA,GAAG,OAAA;AACzB,kGAAA,GAAG,OAAA;AAGL,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,iCAA4D;AAC5D,uDAA0D;AAC1D,yCAAsD;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,GAAG;IACb,WAAW;IACX,cAAc,EAAd,qBAAc;IACd,kBAAkB,EAAlB,yBAAkB;IAClB,wBAAwB,EAAxB,mCAAwB;IACxB,WAAW,EAAX,0BAAW;IACX,KAAK,EAAL,oBAAK;IAEL,oBAAoB;IACpB,MAAM,EAAN,cAAM;IACN,KAAK,EAAL,aAAK;IACL,MAAM,EAAN,cAAM;IACN,GAAG,EAAH,WAAG;CACJ,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
package/dist/init.d.ts
CHANGED
|
@@ -92,6 +92,13 @@ export type NanoDatabase<S extends Schema> = LibSQLDatabase<S> & {
|
|
|
92
92
|
* Configuration for createDatabase().
|
|
93
93
|
*/
|
|
94
94
|
export interface CreateDatabaseConfig<S extends Schema = Schema> extends SchemaData<S> {
|
|
95
|
+
/** Optional connection override (bypasses singleton) */
|
|
96
|
+
connection?: {
|
|
97
|
+
connectionUrl?: string;
|
|
98
|
+
authToken?: string;
|
|
99
|
+
forceLocal?: boolean;
|
|
100
|
+
databasePath?: string;
|
|
101
|
+
};
|
|
95
102
|
/** Plugins to extend database functionality */
|
|
96
103
|
plugins?: NanoPlugin[];
|
|
97
104
|
}
|
package/dist/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../init.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../init.ts"],"names":[],"mappings":"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"}
|
package/dist/init.js
CHANGED
|
@@ -105,12 +105,14 @@ function getTableName(table) {
|
|
|
105
105
|
async function createDatabase(config) {
|
|
106
106
|
// Initialize all modules with schema
|
|
107
107
|
initializeDatabase(config);
|
|
108
|
-
// Run migrations and seed
|
|
109
|
-
await migrations_1.DatabaseMigrations.initializeSchema();
|
|
110
|
-
if (config.seedData)
|
|
111
|
-
await seeds_1.DatabaseSeeds.seed();
|
|
112
108
|
// Get Drizzle instance and setup plugins
|
|
113
|
-
const drizzle =
|
|
109
|
+
const drizzle = (config.connection
|
|
110
|
+
? await connection_1.DatabaseConnection.createInstance(config.connection)
|
|
111
|
+
: await connection_1.DatabaseConnection.getInstance());
|
|
112
|
+
// Run migrations and seed (use the same connection)
|
|
113
|
+
await migrations_1.DatabaseMigrations.initializeSchema(drizzle);
|
|
114
|
+
if (config.seedData)
|
|
115
|
+
await seeds_1.DatabaseSeeds.seed(drizzle);
|
|
114
116
|
const plugins = config.plugins ?? [];
|
|
115
117
|
const hooks = createHooks(plugins);
|
|
116
118
|
// Store original methods
|
|
@@ -218,7 +220,7 @@ async function createDatabase(config) {
|
|
|
218
220
|
tables: () => schema_introspection_1.SchemaIntrospection.getAllTableNames(),
|
|
219
221
|
getTable: (name) => schema_introspection_1.SchemaIntrospection.getTableInfo(String(name)),
|
|
220
222
|
getColumns: (name) => schema_introspection_1.SchemaIntrospection.getTableColumns(String(name)),
|
|
221
|
-
validate: () => schema_introspection_1.SchemaIntrospection.validateSchema(),
|
|
223
|
+
validate: () => schema_introspection_1.SchemaIntrospection.validateSchema(drizzle),
|
|
222
224
|
stats: () => schema_introspection_1.SchemaIntrospection.getSchemaStats(),
|
|
223
225
|
relationships: () => schema_introspection_1.SchemaIntrospection.getTableRelationships(),
|
|
224
226
|
};
|
|
@@ -229,19 +231,19 @@ async function createDatabase(config) {
|
|
|
229
231
|
update: wrappedUpdate,
|
|
230
232
|
delete: wrappedDelete,
|
|
231
233
|
// Health & sync
|
|
232
|
-
healthCheck: () => sync_1.DatabaseSync.healthCheck(),
|
|
233
|
-
isReady: () => sync_1.DatabaseSync.isReady(),
|
|
234
|
-
sync: () => sync_1.DatabaseSync.sync(),
|
|
235
|
-
reset: () => sync_1.DatabaseSync.reset(),
|
|
236
|
-
seed: () => seeds_1.DatabaseSeeds.seed(),
|
|
237
|
-
clearData: () => seeds_1.DatabaseSeeds.clearAllData(),
|
|
234
|
+
healthCheck: () => sync_1.DatabaseSync.healthCheck(drizzle),
|
|
235
|
+
isReady: () => sync_1.DatabaseSync.isReady(drizzle),
|
|
236
|
+
sync: () => sync_1.DatabaseSync.sync(drizzle),
|
|
237
|
+
reset: () => sync_1.DatabaseSync.reset(drizzle),
|
|
238
|
+
seed: () => seeds_1.DatabaseSeeds.seed(drizzle),
|
|
239
|
+
clearData: () => seeds_1.DatabaseSeeds.clearAllData(drizzle),
|
|
238
240
|
// Schema introspection
|
|
239
241
|
schema: schemaUtils,
|
|
240
242
|
// Migration utilities
|
|
241
243
|
migrations: {
|
|
242
|
-
run: () => migrations_1.DatabaseMigrations.initializeSchema(),
|
|
243
|
-
validate: () => migrations_1.DatabaseMigrations.validateSchema(),
|
|
244
|
-
checkTables: () => migrations_1.DatabaseMigrations.checkTableExistence(),
|
|
244
|
+
run: () => migrations_1.DatabaseMigrations.initializeSchema(drizzle),
|
|
245
|
+
validate: () => migrations_1.DatabaseMigrations.validateSchema(drizzle),
|
|
246
|
+
checkTables: () => migrations_1.DatabaseMigrations.checkTableExistence(drizzle),
|
|
245
247
|
},
|
|
246
248
|
// Plugin info
|
|
247
249
|
plugins: { list: () => plugins.map((p) => p.name) },
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../init.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { CreateDatabaseConfig, NanoDatabase } from './init';
|
|
2
|
+
import type { Schema } from './types';
|
|
3
|
+
export interface ReplicaConnection {
|
|
4
|
+
id: string;
|
|
5
|
+
connectionUrl?: string;
|
|
6
|
+
authToken?: string;
|
|
7
|
+
forceLocal?: boolean;
|
|
8
|
+
databasePath?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface PreviewSwitch {
|
|
11
|
+
enabled: true;
|
|
12
|
+
}
|
|
13
|
+
export type ReadStrategy = 'round_robin' | 'random';
|
|
14
|
+
export interface ReplicatedDatabaseConfig<S extends Schema = Schema> extends Omit<CreateDatabaseConfig<S>, 'connection'> {
|
|
15
|
+
primary: ReplicaConnection;
|
|
16
|
+
replicas: ReplicaConnection[];
|
|
17
|
+
preview?: PreviewSwitch;
|
|
18
|
+
readStrategy?: ReadStrategy;
|
|
19
|
+
}
|
|
20
|
+
export interface ReplicatedDatabase<S extends Schema = Schema> {
|
|
21
|
+
primary: NanoDatabase<S>;
|
|
22
|
+
read: () => NanoDatabase<S>;
|
|
23
|
+
write: () => NanoDatabase<S>;
|
|
24
|
+
replica: (id: string) => NanoDatabase<S>;
|
|
25
|
+
listReplicas: () => string[];
|
|
26
|
+
}
|
|
27
|
+
export declare function createReplicatedDatabase<S extends Schema>(config: ReplicatedDatabaseConfig<S>): Promise<ReplicatedDatabase<S>>;
|
|
28
|
+
//# sourceMappingURL=replicas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replicas.d.ts","sourceRoot":"","sources":["../replicas.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACjE,OAAO,KAAK,EAA+B,MAAM,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,IAAI,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CACjE,SAAQ,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;IACnD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC3D,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;IACzC,YAAY,EAAE,MAAM,MAAM,EAAE,CAAC;CAC9B;AAED,wBAAsB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EAC7D,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAClC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAiEhC"}
|
package/dist/replicas.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createReplicatedDatabase = createReplicatedDatabase;
|
|
4
|
+
const init_1 = require("./init");
|
|
5
|
+
async function createReplicatedDatabase(config) {
|
|
6
|
+
assertPreviewEnabled(config.preview);
|
|
7
|
+
if (!config.replicas.length) {
|
|
8
|
+
throw new Error('Replication requires at least one replica');
|
|
9
|
+
}
|
|
10
|
+
const primary = await (0, init_1.createDatabase)({
|
|
11
|
+
tables: config.tables,
|
|
12
|
+
...(config.seedData ? { seedData: config.seedData } : {}),
|
|
13
|
+
...(config.migrationConfig ? { migrationConfig: config.migrationConfig } : {}),
|
|
14
|
+
...(config.plugins ? { plugins: config.plugins } : {}),
|
|
15
|
+
connection: {
|
|
16
|
+
...(config.primary.connectionUrl ? { connectionUrl: config.primary.connectionUrl } : {}),
|
|
17
|
+
...(config.primary.authToken ? { authToken: config.primary.authToken } : {}),
|
|
18
|
+
...(config.primary.forceLocal ? { forceLocal: config.primary.forceLocal } : {}),
|
|
19
|
+
...(config.primary.databasePath ? { databasePath: config.primary.databasePath } : {}),
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
const replicaMap = new Map();
|
|
23
|
+
// Replicas are treated as read-only: migrations are disabled.
|
|
24
|
+
// (You can still validate schema using db.schema.validate() if desired.)
|
|
25
|
+
const replicaMigrationConfig = {
|
|
26
|
+
preserveData: true,
|
|
27
|
+
autoMigrate: false,
|
|
28
|
+
dropTables: false,
|
|
29
|
+
...(config.migrationConfig ?? {}),
|
|
30
|
+
};
|
|
31
|
+
for (const replica of config.replicas) {
|
|
32
|
+
if (replicaMap.has(replica.id)) {
|
|
33
|
+
throw new Error(`Duplicate replica id: ${replica.id}`);
|
|
34
|
+
}
|
|
35
|
+
const db = await (0, init_1.createDatabase)({
|
|
36
|
+
tables: config.tables,
|
|
37
|
+
migrationConfig: replicaMigrationConfig,
|
|
38
|
+
...(config.plugins ? { plugins: config.plugins } : {}),
|
|
39
|
+
connection: {
|
|
40
|
+
...(replica.connectionUrl ? { connectionUrl: replica.connectionUrl } : {}),
|
|
41
|
+
...(replica.authToken ? { authToken: replica.authToken } : {}),
|
|
42
|
+
...(replica.forceLocal ? { forceLocal: replica.forceLocal } : {}),
|
|
43
|
+
...(replica.databasePath ? { databasePath: replica.databasePath } : {}),
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
replicaMap.set(replica.id, db);
|
|
47
|
+
}
|
|
48
|
+
const listReplicas = () => Array.from(replicaMap.keys());
|
|
49
|
+
const replica = (id) => {
|
|
50
|
+
const db = replicaMap.get(id);
|
|
51
|
+
if (!db)
|
|
52
|
+
throw new Error(`Unknown replica: ${id}`);
|
|
53
|
+
return db;
|
|
54
|
+
};
|
|
55
|
+
const read = createReadSelector(replicaMap, config.readStrategy ?? 'round_robin');
|
|
56
|
+
return {
|
|
57
|
+
primary,
|
|
58
|
+
read,
|
|
59
|
+
write: () => primary,
|
|
60
|
+
replica,
|
|
61
|
+
listReplicas,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function createReadSelector(replicas, strategy) {
|
|
65
|
+
const list = Array.from(replicas.values());
|
|
66
|
+
if (list.length === 0) {
|
|
67
|
+
throw new Error('No replicas available for reads');
|
|
68
|
+
}
|
|
69
|
+
if (strategy === 'random') {
|
|
70
|
+
return () => list[Math.floor(Math.random() * list.length)];
|
|
71
|
+
}
|
|
72
|
+
let index = 0;
|
|
73
|
+
return () => {
|
|
74
|
+
const db = list[index % list.length];
|
|
75
|
+
index += 1;
|
|
76
|
+
return db;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function assertPreviewEnabled(preview) {
|
|
80
|
+
if (!preview?.enabled) {
|
|
81
|
+
throw new Error('Replication is in preview. Set preview: { enabled: true } to use it.');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=replicas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replicas.js","sourceRoot":"","sources":["../replicas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
import { sql } from 'drizzle-orm';
|
|
1
2
|
import type { AnyTable, MigrationConfig, SchemaValidation } from '../types';
|
|
3
|
+
interface DrizzleDbRun {
|
|
4
|
+
run: (query: ReturnType<typeof sql> | ReturnType<typeof sql.raw>) => Promise<{
|
|
5
|
+
rows?: unknown[];
|
|
6
|
+
}>;
|
|
7
|
+
}
|
|
2
8
|
export declare const DatabaseMigrations: {
|
|
3
9
|
/** Initialize with schema data */
|
|
4
10
|
initialize(data: {
|
|
@@ -7,14 +13,15 @@ export declare const DatabaseMigrations: {
|
|
|
7
13
|
migrationConfig?: MigrationConfig;
|
|
8
14
|
}): void;
|
|
9
15
|
/** Create all tables from schema */
|
|
10
|
-
initializeSchema(): Promise<void>;
|
|
16
|
+
initializeSchema(dbOverride?: DrizzleDbRun): Promise<void>;
|
|
11
17
|
/** Drop all tables and recreate */
|
|
12
|
-
resetDatabase(): Promise<void>;
|
|
18
|
+
resetDatabase(dbOverride?: DrizzleDbRun): Promise<void>;
|
|
13
19
|
/** Drop all tables */
|
|
14
|
-
dropAllTables(): Promise<void>;
|
|
20
|
+
dropAllTables(dbOverride?: DrizzleDbRun): Promise<void>;
|
|
15
21
|
/** Check which tables exist */
|
|
16
|
-
checkTableExistence(): Promise<Record<string, boolean>>;
|
|
22
|
+
checkTableExistence(dbOverride?: DrizzleDbRun): Promise<Record<string, boolean>>;
|
|
17
23
|
/** Validate schema matches database */
|
|
18
|
-
validateSchema(): Promise<SchemaValidation>;
|
|
24
|
+
validateSchema(dbOverride?: DrizzleDbRun): Promise<SchemaValidation>;
|
|
19
25
|
};
|
|
26
|
+
export {};
|
|
20
27
|
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -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":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAMlC,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiB5E,UAAU,YAAY;IACpB,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;CACpG;AAqBD,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;kCACA,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBhE,mCAAmC;+BACF,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7D,sBAAsB;+BACW,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7D,+BAA+B;qCACQ,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAWtF,uCAAuC;gCACL,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAsB3E,CAAC"}
|
package/dist/utils/migrations.js
CHANGED
|
@@ -25,9 +25,9 @@ exports.DatabaseMigrations = {
|
|
|
25
25
|
config = { ...config, ...data.migrationConfig };
|
|
26
26
|
},
|
|
27
27
|
/** Create all tables from schema */
|
|
28
|
-
async initializeSchema() {
|
|
28
|
+
async initializeSchema(dbOverride) {
|
|
29
29
|
return (0, error_handler_1.withErrorHandling)('init-schema', async () => {
|
|
30
|
-
const db = await connection_1.DatabaseConnection.getInstance();
|
|
30
|
+
const db = dbOverride ?? await connection_1.DatabaseConnection.getInstance();
|
|
31
31
|
const tableNames = Object.keys(tables);
|
|
32
32
|
logger_1.logger.info(`Initializing ${tableNames.length} tables...`);
|
|
33
33
|
for (const name of tableNames) {
|
|
@@ -39,17 +39,17 @@ exports.DatabaseMigrations = {
|
|
|
39
39
|
});
|
|
40
40
|
},
|
|
41
41
|
/** Drop all tables and recreate */
|
|
42
|
-
async resetDatabase() {
|
|
42
|
+
async resetDatabase(dbOverride) {
|
|
43
43
|
return (0, error_handler_1.withErrorHandling)('reset-db', async () => {
|
|
44
44
|
logger_1.logger.warn('Resetting database...');
|
|
45
|
-
await this.dropAllTables();
|
|
46
|
-
await this.initializeSchema();
|
|
45
|
+
await this.dropAllTables(dbOverride);
|
|
46
|
+
await this.initializeSchema(dbOverride);
|
|
47
47
|
});
|
|
48
48
|
},
|
|
49
49
|
/** Drop all tables */
|
|
50
|
-
async dropAllTables() {
|
|
50
|
+
async dropAllTables(dbOverride) {
|
|
51
51
|
return (0, error_handler_1.withErrorHandling)('drop-tables', async () => {
|
|
52
|
-
const db = await connection_1.DatabaseConnection.getInstance();
|
|
52
|
+
const db = dbOverride ?? await connection_1.DatabaseConnection.getInstance();
|
|
53
53
|
const tableNames = Object.keys(tables).reverse();
|
|
54
54
|
for (const name of tableNames) {
|
|
55
55
|
await db.run((0, drizzle_orm_1.sql) `DROP TABLE IF EXISTS ${drizzle_orm_1.sql.identifier(name)}`);
|
|
@@ -58,8 +58,8 @@ exports.DatabaseMigrations = {
|
|
|
58
58
|
});
|
|
59
59
|
},
|
|
60
60
|
/** Check which tables exist */
|
|
61
|
-
async checkTableExistence() {
|
|
62
|
-
const db = await connection_1.DatabaseConnection.getInstance();
|
|
61
|
+
async checkTableExistence(dbOverride) {
|
|
62
|
+
const db = dbOverride ?? await connection_1.DatabaseConnection.getInstance();
|
|
63
63
|
const result = {};
|
|
64
64
|
for (const name of Object.keys(tables)) {
|
|
65
65
|
result[name] = await tableExists(name, db);
|
|
@@ -67,9 +67,9 @@ exports.DatabaseMigrations = {
|
|
|
67
67
|
return result;
|
|
68
68
|
},
|
|
69
69
|
/** Validate schema matches database */
|
|
70
|
-
async validateSchema() {
|
|
70
|
+
async validateSchema(dbOverride) {
|
|
71
71
|
try {
|
|
72
|
-
const existence = await this.checkTableExistence();
|
|
72
|
+
const existence = await this.checkTableExistence(dbOverride);
|
|
73
73
|
const expected = Object.keys(tables);
|
|
74
74
|
const missingTables = expected.filter((t) => !existence[t]);
|
|
75
75
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../utils/migrations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../utils/migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
import { sql } from 'drizzle-orm';
|
|
1
2
|
import type { AnyTable, TableMetadata, SchemaValidation } from '../types';
|
|
3
|
+
interface DrizzleDbRun {
|
|
4
|
+
run: (query: ReturnType<typeof sql> | ReturnType<typeof sql.raw>) => Promise<{
|
|
5
|
+
rows?: unknown[];
|
|
6
|
+
}>;
|
|
7
|
+
}
|
|
2
8
|
export declare const SchemaIntrospection: {
|
|
3
9
|
/** Initialize with schema data */
|
|
4
10
|
initialize(data: {
|
|
@@ -28,7 +34,7 @@ export declare const SchemaIntrospection: {
|
|
|
28
34
|
tableDetails: TableMetadata[];
|
|
29
35
|
};
|
|
30
36
|
/** Validate schema against database */
|
|
31
|
-
validateSchema(): Promise<SchemaValidation>;
|
|
37
|
+
validateSchema(dbOverride?: DrizzleDbRun): Promise<SchemaValidation>;
|
|
32
38
|
/** Get all foreign key relationships */
|
|
33
39
|
getTableRelationships(): Array<{
|
|
34
40
|
fromTable: string;
|
|
@@ -37,4 +43,5 @@ export declare const SchemaIntrospection: {
|
|
|
37
43
|
toColumn: string;
|
|
38
44
|
}>;
|
|
39
45
|
};
|
|
46
|
+
export {};
|
|
40
47
|
//# sourceMappingURL=schema-introspection.d.ts.map
|
|
@@ -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":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIlC,OAAO,KAAK,EAAE,QAAQ,EAAc,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAatF,UAAU,YAAY;IACpB,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;CACpG;AAMD,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;gCACL,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6B1E,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"}
|
|
@@ -70,9 +70,9 @@ exports.SchemaIntrospection = {
|
|
|
70
70
|
};
|
|
71
71
|
},
|
|
72
72
|
/** Validate schema against database */
|
|
73
|
-
async validateSchema() {
|
|
73
|
+
async validateSchema(dbOverride) {
|
|
74
74
|
try {
|
|
75
|
-
const db = await connection_1.DatabaseConnection.getInstance();
|
|
75
|
+
const db = dbOverride ?? await connection_1.DatabaseConnection.getInstance();
|
|
76
76
|
const result = await db.run((0, drizzle_orm_1.sql) `
|
|
77
77
|
SELECT name FROM sqlite_master
|
|
78
78
|
WHERE type='table' AND name NOT LIKE 'sqlite_%'
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"schema-introspection.js","sourceRoot":"","sources":["../../utils/schema-introspection.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/seeds.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
import { sql } from 'drizzle-orm';
|
|
1
2
|
import type { AnyTable } from '../types';
|
|
3
|
+
interface DrizzleDbRun {
|
|
4
|
+
run: (query: ReturnType<typeof sql> | ReturnType<typeof sql.raw>) => Promise<{
|
|
5
|
+
rows?: unknown[];
|
|
6
|
+
}>;
|
|
7
|
+
}
|
|
2
8
|
export declare const DatabaseSeeds: {
|
|
3
9
|
/** Initialize with schema and seed data */
|
|
4
10
|
initialize(data: {
|
|
@@ -7,12 +13,13 @@ export declare const DatabaseSeeds: {
|
|
|
7
13
|
seedData?: Record<string, Record<string, unknown>[]>;
|
|
8
14
|
}): void;
|
|
9
15
|
/** Check if any table has data */
|
|
10
|
-
hasData(): Promise<boolean>;
|
|
16
|
+
hasData(dbOverride?: DrizzleDbRun): Promise<boolean>;
|
|
11
17
|
/** Seed database with initial data (skips if data exists) */
|
|
12
|
-
seed(): Promise<void>;
|
|
18
|
+
seed(dbOverride?: DrizzleDbRun): Promise<void>;
|
|
13
19
|
/** Clear all data from all tables */
|
|
14
|
-
clearAllData(): Promise<void>;
|
|
20
|
+
clearAllData(dbOverride?: DrizzleDbRun): Promise<void>;
|
|
15
21
|
/** Reset database (clear + seed) */
|
|
16
|
-
reset(): Promise<void>;
|
|
22
|
+
reset(dbOverride?: DrizzleDbRun): Promise<void>;
|
|
17
23
|
};
|
|
24
|
+
export {};
|
|
18
25
|
//# sourceMappingURL=seeds.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seeds.d.ts","sourceRoot":"","sources":["../../utils/seeds.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"seeds.d.ts","sourceRoot":"","sources":["../../utils/seeds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAKlC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAczC,UAAU,YAAY;IACpB,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;CACpG;AAMD,eAAO,MAAM,aAAa;IACxB,2CAA2C;qBAC1B;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjC,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;KACtD,GAAG,IAAI;IAMR,kCAAkC;yBACP,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB1D,6DAA6D;sBACrC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BpD,qCAAqC;8BACL,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5D,oCAAoC;uBACX,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAStD,CAAC"}
|
package/dist/utils/seeds.js
CHANGED
|
@@ -23,8 +23,8 @@ exports.DatabaseSeeds = {
|
|
|
23
23
|
seedData = data.seedData ?? {};
|
|
24
24
|
},
|
|
25
25
|
/** Check if any table has data */
|
|
26
|
-
async hasData() {
|
|
27
|
-
const db = await connection_1.DatabaseConnection.getInstance();
|
|
26
|
+
async hasData(dbOverride) {
|
|
27
|
+
const db = dbOverride ?? await connection_1.DatabaseConnection.getInstance();
|
|
28
28
|
for (const name of tableNames) {
|
|
29
29
|
try {
|
|
30
30
|
const result = await db.run((0, drizzle_orm_1.sql) `
|
|
@@ -42,9 +42,9 @@ exports.DatabaseSeeds = {
|
|
|
42
42
|
return false;
|
|
43
43
|
},
|
|
44
44
|
/** Seed database with initial data (skips if data exists) */
|
|
45
|
-
async seed() {
|
|
45
|
+
async seed(dbOverride) {
|
|
46
46
|
return (0, error_handler_1.withErrorHandling)('seed', async () => {
|
|
47
|
-
if (await this.hasData()) {
|
|
47
|
+
if (await this.hasData(dbOverride)) {
|
|
48
48
|
logger_1.logger.info('Database has data, skipping seed');
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
@@ -53,7 +53,7 @@ exports.DatabaseSeeds = {
|
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
55
|
logger_1.logger.info('Seeding database...');
|
|
56
|
-
const db = await connection_1.DatabaseConnection.getInstance();
|
|
56
|
+
const db = dbOverride ?? await connection_1.DatabaseConnection.getInstance();
|
|
57
57
|
for (const tableName of tableNames) {
|
|
58
58
|
const data = seedData[tableName];
|
|
59
59
|
if (!data?.length)
|
|
@@ -64,10 +64,10 @@ exports.DatabaseSeeds = {
|
|
|
64
64
|
});
|
|
65
65
|
},
|
|
66
66
|
/** Clear all data from all tables */
|
|
67
|
-
async clearAllData() {
|
|
67
|
+
async clearAllData(dbOverride) {
|
|
68
68
|
return (0, error_handler_1.withErrorHandling)('clear-data', async () => {
|
|
69
69
|
logger_1.logger.warn('Clearing all data...');
|
|
70
|
-
const db = await connection_1.DatabaseConnection.getInstance();
|
|
70
|
+
const db = dbOverride ?? await connection_1.DatabaseConnection.getInstance();
|
|
71
71
|
// Clear in reverse order for foreign key constraints
|
|
72
72
|
for (const name of [...tableNames].reverse()) {
|
|
73
73
|
await db.run((0, drizzle_orm_1.sql) `DELETE FROM ${drizzle_orm_1.sql.identifier(name)}`);
|
|
@@ -83,9 +83,9 @@ exports.DatabaseSeeds = {
|
|
|
83
83
|
});
|
|
84
84
|
},
|
|
85
85
|
/** Reset database (clear + seed) */
|
|
86
|
-
async reset() {
|
|
87
|
-
await this.clearAllData();
|
|
88
|
-
const db = await connection_1.DatabaseConnection.getInstance();
|
|
86
|
+
async reset(dbOverride) {
|
|
87
|
+
await this.clearAllData(dbOverride);
|
|
88
|
+
const db = dbOverride ?? await connection_1.DatabaseConnection.getInstance();
|
|
89
89
|
for (const tableName of tableNames) {
|
|
90
90
|
const data = seedData[tableName];
|
|
91
91
|
if (!data?.length)
|
package/dist/utils/seeds.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seeds.js","sourceRoot":"","sources":["../../utils/seeds.ts"],"names":[],"mappings":";;;AAAA,6CAAkC;AAClC,mDAAwD;AACxD,qCAAkC;AAClC,mDAAoD;AACpD,4CAA0D;AAG1D,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,IAAI,MAAM,GAA6B,EAAE,CAAC;AAC1C,IAAI,UAAU,GAAa,EAAE,CAAC;AAC9B,IAAI,QAAQ,GAA8C,EAAE,CAAC;AAU7D,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAElE,QAAA,aAAa,GAAG;IAC3B,2CAA2C;IAC3C,UAAU,CAAC,IAIV;QACC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"seeds.js","sourceRoot":"","sources":["../../utils/seeds.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/sync.d.ts
CHANGED
|
@@ -1,19 +1,29 @@
|
|
|
1
|
+
import { sql } from 'drizzle-orm';
|
|
1
2
|
import type { DatabaseInfo, HealthCheck, SyncResult } from '../types';
|
|
3
|
+
interface DrizzleDbRun {
|
|
4
|
+
run: (query: ReturnType<typeof sql> | ReturnType<typeof sql.raw>) => Promise<{
|
|
5
|
+
rows?: unknown[];
|
|
6
|
+
}>;
|
|
7
|
+
$client?: {
|
|
8
|
+
sync?: () => Promise<void>;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
2
11
|
/**
|
|
3
12
|
* High-level database operations for setup, sync, and health checks.
|
|
4
13
|
*/
|
|
5
14
|
export declare const DatabaseSync: {
|
|
6
15
|
/** Initialize schema and seed data */
|
|
7
|
-
setup(): Promise<void>;
|
|
16
|
+
setup(dbOverride?: DrizzleDbRun): Promise<void>;
|
|
8
17
|
/** Reset database (drop, recreate, seed) */
|
|
9
|
-
reset(): Promise<void>;
|
|
18
|
+
reset(dbOverride?: DrizzleDbRun): Promise<void>;
|
|
10
19
|
/** Sync with remote (Turso) if supported */
|
|
11
|
-
sync(): Promise<SyncResult>;
|
|
20
|
+
sync(dbOverride?: DrizzleDbRun): Promise<SyncResult>;
|
|
12
21
|
/** Get database information */
|
|
13
|
-
getDatabaseInfo(): Promise<DatabaseInfo>;
|
|
22
|
+
getDatabaseInfo(dbOverride?: DrizzleDbRun): Promise<DatabaseInfo>;
|
|
14
23
|
/** Health check */
|
|
15
|
-
healthCheck(): Promise<HealthCheck>;
|
|
24
|
+
healthCheck(dbOverride?: DrizzleDbRun): Promise<HealthCheck>;
|
|
16
25
|
/** Check if database is ready */
|
|
17
|
-
isReady(): Promise<boolean>;
|
|
26
|
+
isReady(dbOverride?: DrizzleDbRun): Promise<boolean>;
|
|
18
27
|
};
|
|
28
|
+
export {};
|
|
19
29
|
//# sourceMappingURL=sync.d.ts.map
|
package/dist/utils/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../utils/sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../utils/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAOlC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAMtE,UAAU,YAAY;IACpB,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;IACnG,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;CAC1C;AAMD;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,sCAAsC;uBACb,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IASrD,4CAA4C;uBACnB,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IASrD,4CAA4C;sBACpB,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IA0B1D,+BAA+B;iCACI,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAkCvE,mBAAmB;6BACY,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IA4BlE,iCAAiC;yBACN,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAI3D,CAAC"}
|
package/dist/utils/sync.js
CHANGED
|
@@ -16,28 +16,28 @@ const schema_introspection_1 = require("./schema-introspection");
|
|
|
16
16
|
*/
|
|
17
17
|
exports.DatabaseSync = {
|
|
18
18
|
/** Initialize schema and seed data */
|
|
19
|
-
async setup() {
|
|
19
|
+
async setup(dbOverride) {
|
|
20
20
|
return (0, error_handler_1.withErrorHandling)('setup', async () => {
|
|
21
21
|
logger_1.logger.info('Setting up database...');
|
|
22
|
-
await migrations_1.DatabaseMigrations.initializeSchema();
|
|
23
|
-
await seeds_1.DatabaseSeeds.seed();
|
|
22
|
+
await migrations_1.DatabaseMigrations.initializeSchema(dbOverride);
|
|
23
|
+
await seeds_1.DatabaseSeeds.seed(dbOverride);
|
|
24
24
|
logger_1.logger.info('Database setup complete');
|
|
25
25
|
});
|
|
26
26
|
},
|
|
27
27
|
/** Reset database (drop, recreate, seed) */
|
|
28
|
-
async reset() {
|
|
28
|
+
async reset(dbOverride) {
|
|
29
29
|
return (0, error_handler_1.withErrorHandling)('reset', async () => {
|
|
30
30
|
logger_1.logger.warn('Resetting database...');
|
|
31
|
-
await migrations_1.DatabaseMigrations.resetDatabase();
|
|
32
|
-
await seeds_1.DatabaseSeeds.seed();
|
|
31
|
+
await migrations_1.DatabaseMigrations.resetDatabase(dbOverride);
|
|
32
|
+
await seeds_1.DatabaseSeeds.seed(dbOverride);
|
|
33
33
|
logger_1.logger.info('Database reset complete');
|
|
34
34
|
});
|
|
35
35
|
},
|
|
36
36
|
/** Sync with remote (Turso) if supported */
|
|
37
|
-
async sync() {
|
|
37
|
+
async sync(dbOverride) {
|
|
38
38
|
const tableNames = schema_introspection_1.SchemaIntrospection.getAllTableNames();
|
|
39
39
|
try {
|
|
40
|
-
const db = await connection_1.DatabaseConnection.getInstance();
|
|
40
|
+
const db = dbOverride ?? await connection_1.DatabaseConnection.getInstance();
|
|
41
41
|
const client = db.$client;
|
|
42
42
|
if (client?.sync) {
|
|
43
43
|
await client.sync();
|
|
@@ -58,9 +58,9 @@ exports.DatabaseSync = {
|
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
/** Get database information */
|
|
61
|
-
async getDatabaseInfo() {
|
|
61
|
+
async getDatabaseInfo(dbOverride) {
|
|
62
62
|
try {
|
|
63
|
-
const db = await connection_1.DatabaseConnection.getInstance();
|
|
63
|
+
const db = dbOverride ?? await connection_1.DatabaseConnection.getInstance();
|
|
64
64
|
const tableNames = schema_introspection_1.SchemaIntrospection.getAllTableNames();
|
|
65
65
|
const tableCounts = {};
|
|
66
66
|
let totalRecords = 0;
|
|
@@ -78,7 +78,7 @@ exports.DatabaseSync = {
|
|
|
78
78
|
tableCounts[name] = 0;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
const validation = await migrations_1.DatabaseMigrations.validateSchema();
|
|
81
|
+
const validation = await migrations_1.DatabaseMigrations.validateSchema(dbOverride);
|
|
82
82
|
return {
|
|
83
83
|
tables: tableNames,
|
|
84
84
|
tableCounts,
|
|
@@ -91,9 +91,9 @@ exports.DatabaseSync = {
|
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
93
|
/** Health check */
|
|
94
|
-
async healthCheck() {
|
|
94
|
+
async healthCheck(dbOverride) {
|
|
95
95
|
try {
|
|
96
|
-
const info = await this.getDatabaseInfo();
|
|
96
|
+
const info = await this.getDatabaseInfo(dbOverride);
|
|
97
97
|
const errors = [];
|
|
98
98
|
if (!info.schemaValid)
|
|
99
99
|
errors.push('Schema validation failed');
|
|
@@ -120,8 +120,8 @@ exports.DatabaseSync = {
|
|
|
120
120
|
}
|
|
121
121
|
},
|
|
122
122
|
/** Check if database is ready */
|
|
123
|
-
async isReady() {
|
|
124
|
-
const health = await this.healthCheck();
|
|
123
|
+
async isReady(dbOverride) {
|
|
124
|
+
const health = await this.healthCheck(dbOverride);
|
|
125
125
|
return health.healthy;
|
|
126
126
|
},
|
|
127
127
|
};
|
package/dist/utils/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../utils/sync.ts"],"names":[],"mappings":";;;AAAA,6CAAkC;AAClC,mDAAwD;AACxD,qCAAkC;AAClC,mDAAoD;AACpD,6CAAkD;AAClD,mCAAwC;AACxC,iEAA6D;AAY7D,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,sCAAsC;IACtC,KAAK,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../utils/sync.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nanodb-orm",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "Lightweight ORM wrapper for Drizzle with auto-migrations, schema introspection, and CLI",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"default": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
7
13
|
"bin": {
|
|
8
14
|
"nanodb": "./dist/cli.js"
|
|
9
15
|
},
|
|
@@ -30,29 +36,35 @@
|
|
|
30
36
|
"schema",
|
|
31
37
|
"orm",
|
|
32
38
|
"cli",
|
|
33
|
-
"studio"
|
|
39
|
+
"studio",
|
|
40
|
+
"plugins",
|
|
41
|
+
"timestamps",
|
|
42
|
+
"soft-delete"
|
|
34
43
|
],
|
|
35
44
|
"author": "Easy-Deploy-Dev",
|
|
36
45
|
"license": "MIT",
|
|
37
|
-
"dependencies": {
|
|
38
|
-
"@libsql/client": "^0.15.14",
|
|
39
|
-
"drizzle-orm": "^0.44.5"
|
|
40
|
-
},
|
|
41
46
|
"devDependencies": {
|
|
47
|
+
"@libsql/client": "^0.15.14",
|
|
42
48
|
"@types/jest": "^29.5.12",
|
|
43
49
|
"@types/node": "^22.15.21",
|
|
44
50
|
"drizzle-kit": "^0.31.8",
|
|
51
|
+
"drizzle-orm": "^0.44.5",
|
|
45
52
|
"jest": "^29.7.0",
|
|
46
53
|
"ts-jest": "^29.2.0",
|
|
47
54
|
"typescript": "^5.8.3"
|
|
48
55
|
},
|
|
49
56
|
"peerDependencies": {
|
|
50
|
-
"
|
|
51
|
-
"drizzle-
|
|
57
|
+
"@libsql/client": ">=0.14.0",
|
|
58
|
+
"drizzle-orm": ">=0.38.0",
|
|
59
|
+
"drizzle-kit": ">=0.30.0",
|
|
60
|
+
"dotenv": ">=16.0.0"
|
|
52
61
|
},
|
|
53
62
|
"peerDependenciesMeta": {
|
|
54
63
|
"drizzle-kit": {
|
|
55
64
|
"optional": true
|
|
65
|
+
},
|
|
66
|
+
"dotenv": {
|
|
67
|
+
"optional": true
|
|
56
68
|
}
|
|
57
69
|
},
|
|
58
70
|
"optionalDependencies": {
|