uql-orm 0.21.0 → 0.22.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 +5 -4
- package/dist/bunSql/bunSqlCockroachDialect.d.ts +2 -2
- package/dist/bunSql/bunSqlCockroachDialect.js +4 -10
- package/dist/bunSql/bunSqlPostgresDialect.d.ts +2 -2
- package/dist/bunSql/bunSqlPostgresDialect.js +4 -10
- package/dist/cockroachdb/cockroachDialect.d.ts +20 -4
- package/dist/cockroachdb/cockroachDialect.js +33 -18
- package/dist/d1/d1Querier.d.ts +4 -3
- package/dist/d1/d1Querier.js +0 -3
- package/dist/d1/d1SqliteDialect.d.ts +7 -0
- package/dist/d1/d1SqliteDialect.js +9 -0
- package/dist/dialect/abstractDialect.d.ts +8 -3
- package/dist/dialect/abstractDialect.js +9 -4
- package/dist/dialect/abstractSqlDialect.d.ts +35 -7
- package/dist/dialect/abstractSqlDialect.js +76 -35
- package/dist/dialect/index.d.ts +1 -0
- package/dist/dialect/index.js +1 -0
- package/dist/dialect/indexSqlDialect.d.ts +57 -0
- package/dist/dialect/indexSqlDialect.js +101 -0
- package/dist/dialect/mysqlLikeSqlDialect.d.ts +16 -1
- package/dist/dialect/mysqlLikeSqlDialect.js +32 -1
- package/dist/dialect/pgLikeSqlDialect.d.ts +33 -15
- package/dist/dialect/pgLikeSqlDialect.js +90 -56
- package/dist/dialect/vectorCast.d.ts +21 -0
- package/dist/dialect/vectorCast.js +28 -0
- package/dist/dialect/vectorSqlDialect.d.ts +10 -3
- package/dist/dialect/vectorSqlDialect.js +19 -8
- package/dist/entity/decorator/index-decorator.d.ts +2 -9
- package/dist/entity/metadata/definition.d.ts +5 -4
- package/dist/entity/metadata/definition.js +4 -3
- package/dist/libsql/libsqlDialect.d.ts +12 -2
- package/dist/libsql/libsqlDialect.js +14 -2
- package/dist/libsql/libsqlQuerier.d.ts +9 -22
- package/dist/libsql/libsqlQuerier.js +9 -85
- package/dist/libsql/libsqlQuerierPool.d.ts +10 -8
- package/dist/libsql/libsqlQuerierPool.js +17 -15
- package/dist/maria/mariaDialect.d.ts +26 -4
- package/dist/maria/mariaDialect.js +54 -15
- package/dist/migrate/builder/migrationBuilder.d.ts +9 -29
- package/dist/migrate/builder/migrationBuilder.js +58 -76
- package/dist/migrate/builder/splitSqlStatements.d.ts +0 -2
- package/dist/migrate/builder/splitSqlStatements.js +0 -2
- package/dist/migrate/builder/tableBuilder.d.ts +12 -2
- package/dist/migrate/builder/tableBuilder.js +71 -119
- package/dist/migrate/builder/types.d.ts +30 -41
- package/dist/migrate/cli.d.ts +3 -2
- package/dist/migrate/cli.js +21 -48
- package/dist/migrate/codegen/entityCodeGenerator.d.ts +0 -4
- package/dist/migrate/codegen/entityCodeGenerator.js +5 -63
- package/dist/migrate/codegen/fieldOptionsSource.d.ts +10 -0
- package/dist/migrate/codegen/fieldOptionsSource.js +55 -0
- package/dist/migrate/codegen/index.d.ts +0 -2
- package/dist/migrate/codegen/index.js +0 -4
- package/dist/migrate/generator/indexNodeToSchema.d.ts +9 -0
- package/dist/migrate/generator/indexNodeToSchema.js +14 -0
- package/dist/migrate/generator/mongoCommand.d.ts +57 -0
- package/dist/migrate/generator/mongoCommand.js +26 -0
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts +9 -20
- package/dist/migrate/generator/mongoSchemaGenerator.js +40 -82
- package/dist/migrate/index.d.ts +0 -1
- package/dist/migrate/index.js +0 -1
- package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts +25 -10
- package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js +46 -32
- package/dist/migrate/introspection/baseSqlIntrospector.d.ts +0 -1
- package/dist/migrate/introspection/baseSqlIntrospector.js +3 -12
- package/dist/migrate/introspection/mongoIntrospector.js +2 -2
- package/dist/migrate/introspection/mysqlIntrospector.d.ts +5 -8
- package/dist/migrate/introspection/mysqlIntrospector.js +4 -10
- package/dist/migrate/introspection/postgresIntrospector.d.ts +5 -8
- package/dist/migrate/introspection/postgresIntrospector.js +4 -10
- package/dist/migrate/introspection/sqliteIntrospector.d.ts +6 -5
- package/dist/migrate/introspection/sqliteIntrospector.js +26 -18
- package/dist/migrate/migrator.d.ts +23 -3
- package/dist/migrate/migrator.js +57 -69
- package/dist/migrate/schemaGenerator.d.ts +26 -37
- package/dist/migrate/schemaGenerator.js +69 -174
- package/dist/migrate/schemaGeneratorAsync.d.ts +2 -2
- package/dist/migrate/schemaGeneratorAsync.js +3 -3
- package/dist/migrate/storage/databaseStorage.js +4 -4
- package/dist/mongo/mongoDialect.d.ts +2 -0
- package/dist/mongo/mongoDialect.js +14 -3
- package/dist/mysql/mysqlDialect.d.ts +8 -0
- package/dist/mysql/mysqlDialect.js +13 -0
- package/dist/schema/canonicalType.d.ts +14 -2
- package/dist/schema/canonicalType.js +41 -31
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/schemaASTBuilder.d.ts +8 -1
- package/dist/schema/schemaASTBuilder.js +56 -47
- package/dist/schema/types.d.ts +10 -37
- package/dist/sqlite/abstractSqliteQuerier.d.ts +39 -0
- package/dist/sqlite/abstractSqliteQuerier.js +44 -0
- package/dist/sqlite/bunSqliteAdapter.bun.d.ts +26 -0
- package/dist/sqlite/bunSqliteAdapter.bun.js +25 -0
- package/dist/sqlite/hranaQuerier.d.ts +54 -0
- package/dist/sqlite/hranaQuerier.js +90 -0
- package/dist/sqlite/hranaQuerierPool.d.ts +21 -0
- package/dist/sqlite/hranaQuerierPool.js +25 -0
- package/dist/sqlite/index.d.ts +2 -1
- package/dist/sqlite/index.js +2 -1
- package/dist/sqlite/sqliteDialect.d.ts +18 -4
- package/dist/sqlite/sqliteDialect.js +24 -24
- package/dist/sqlite/sqliteQuerier.d.ts +16 -9
- package/dist/sqlite/sqliteQuerier.js +4 -27
- package/dist/sqlite/sqliteQuerierPool.d.ts +14 -4
- package/dist/sqlite/sqliteQuerierPool.js +16 -5
- package/dist/turso/index.d.ts +3 -0
- package/dist/turso/index.js +3 -0
- package/dist/turso/local.d.ts +3 -0
- package/dist/turso/local.js +3 -0
- package/dist/turso/tursoDialect.d.ts +15 -0
- package/dist/turso/tursoDialect.js +18 -0
- package/dist/turso/tursoLocalQuerier.d.ts +25 -0
- package/dist/turso/tursoLocalQuerier.js +20 -0
- package/dist/turso/tursoLocalQuerierPool.d.ts +32 -0
- package/dist/turso/tursoLocalQuerierPool.js +39 -0
- package/dist/turso/tursoQuerier.d.ts +10 -0
- package/dist/turso/tursoQuerier.js +10 -0
- package/dist/turso/tursoQuerierPool.d.ts +39 -0
- package/dist/turso/tursoQuerierPool.js +38 -0
- package/dist/type/config.d.ts +0 -6
- package/dist/type/dialect.d.ts +12 -4
- package/dist/type/dialect.js +7 -1
- package/dist/type/entity.d.ts +66 -5
- package/dist/type/migration.d.ts +32 -23
- package/dist/type/vector.d.ts +5 -2
- package/dist/util/index.d.ts +1 -0
- package/dist/util/index.js +1 -0
- package/dist/util/indexColumn.util.d.ts +6 -0
- package/dist/util/indexColumn.util.js +26 -0
- package/package.json +16 -3
- package/dist/migrate/codegen/entityMerger.d.ts +0 -114
- package/dist/migrate/codegen/entityMerger.js +0 -293
- package/dist/migrate/codegen/migrationCodeGenerator.d.ts +0 -61
- package/dist/migrate/codegen/migrationCodeGenerator.js +0 -355
- package/dist/migrate/generator/index.d.ts +0 -2
- package/dist/migrate/generator/index.js +0 -2
- package/dist/migrate/sync/index.d.ts +0 -6
- package/dist/migrate/sync/index.js +0 -6
- package/dist/migrate/sync/schemaSync.d.ts +0 -131
- package/dist/migrate/sync/schemaSync.js +0 -259
- package/dist/sqlite/betterSqlite3Dialect.d.ts +0 -9
- package/dist/sqlite/betterSqlite3Dialect.js +0 -9
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Schema Sync
|
|
3
|
-
*
|
|
4
|
-
* Orchestrates schema synchronization between entities and database
|
|
5
|
-
* with configurable direction modes.
|
|
6
|
-
*/
|
|
7
|
-
import { SchemaASTBuilder } from '../../schema/schemaASTBuilder.js';
|
|
8
|
-
import { SchemaASTDiffer } from '../../schema/schemaASTDiffer.js';
|
|
9
|
-
/**
|
|
10
|
-
* Service for synchronizing schemas between entities and database.
|
|
11
|
-
*/
|
|
12
|
-
export class SchemaSync {
|
|
13
|
-
options;
|
|
14
|
-
constructor(options) {
|
|
15
|
-
this.options = options;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Execute schema synchronization.
|
|
19
|
-
*/
|
|
20
|
-
async sync() {
|
|
21
|
-
const direction = this.options.direction ?? 'bidirectional';
|
|
22
|
-
switch (direction) {
|
|
23
|
-
case 'entity-to-db':
|
|
24
|
-
return this.syncEntityToDb();
|
|
25
|
-
case 'db-to-entity':
|
|
26
|
-
return this.syncDbToEntity();
|
|
27
|
-
case 'bidirectional':
|
|
28
|
-
return this.syncBidirectional();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Sync from entities to database (push).
|
|
33
|
-
*/
|
|
34
|
-
async syncEntityToDb() {
|
|
35
|
-
const entityAST = this.buildEntityAST();
|
|
36
|
-
const dbAST = await this.buildDatabaseAST();
|
|
37
|
-
const differ = new SchemaASTDiffer();
|
|
38
|
-
const diff = differ.diff(entityAST, dbAST);
|
|
39
|
-
// In safe mode, filter out destructive changes
|
|
40
|
-
const safeDiff = this.options.safe ? this.filterDestructiveChanges(diff) : diff;
|
|
41
|
-
return {
|
|
42
|
-
direction: 'entity-to-db',
|
|
43
|
-
success: true,
|
|
44
|
-
dbChanges: safeDiff,
|
|
45
|
-
entityChanges: undefined,
|
|
46
|
-
conflicts: [],
|
|
47
|
-
summary: this.formatSummary('entity-to-db', safeDiff),
|
|
48
|
-
details: {
|
|
49
|
-
db: this.getDiffCounts(safeDiff),
|
|
50
|
-
entity: { created: 0, dropped: 0, altered: 0 },
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Sync from database to entities (pull).
|
|
56
|
-
*/
|
|
57
|
-
async syncDbToEntity() {
|
|
58
|
-
const entityAST = this.buildEntityAST();
|
|
59
|
-
const dbAST = await this.buildDatabaseAST();
|
|
60
|
-
const differ = new SchemaASTDiffer();
|
|
61
|
-
// Diff in opposite direction: DB is source, entity is target
|
|
62
|
-
const diff = differ.diff(dbAST, entityAST);
|
|
63
|
-
// Apply safe mode if enabled
|
|
64
|
-
const safeDiff = this.options.safe ? this.filterDestructiveChanges(diff) : diff;
|
|
65
|
-
return {
|
|
66
|
-
direction: 'db-to-entity',
|
|
67
|
-
success: true,
|
|
68
|
-
dbChanges: undefined,
|
|
69
|
-
entityChanges: safeDiff,
|
|
70
|
-
conflicts: [],
|
|
71
|
-
summary: this.formatSummary('db-to-entity', safeDiff),
|
|
72
|
-
details: {
|
|
73
|
-
db: { created: 0, dropped: 0, altered: 0 },
|
|
74
|
-
entity: this.getDiffCounts(safeDiff),
|
|
75
|
-
},
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Bidirectional sync with conflict detection.
|
|
80
|
-
*/
|
|
81
|
-
async syncBidirectional() {
|
|
82
|
-
const entityAST = this.buildEntityAST();
|
|
83
|
-
const dbAST = await this.buildDatabaseAST();
|
|
84
|
-
const differ = new SchemaASTDiffer();
|
|
85
|
-
// Get both directions
|
|
86
|
-
const entityToDb = differ.diff(entityAST, dbAST);
|
|
87
|
-
const dbToEntity = differ.diff(dbAST, entityAST);
|
|
88
|
-
// Detect conflicts (changes in both directions for same elements)
|
|
89
|
-
const conflicts = this.detectConflicts(entityToDb, dbToEntity);
|
|
90
|
-
// Filter out conflicting changes
|
|
91
|
-
let safeEntityToDb = this.filterConflictingChanges(entityToDb, conflicts);
|
|
92
|
-
let safeDbToEntity = this.filterConflictingChanges(dbToEntity, conflicts);
|
|
93
|
-
// Apply safe mode if enabled
|
|
94
|
-
if (this.options.safe) {
|
|
95
|
-
safeEntityToDb = this.filterDestructiveChanges(safeEntityToDb);
|
|
96
|
-
safeDbToEntity = this.filterDestructiveChanges(safeDbToEntity);
|
|
97
|
-
}
|
|
98
|
-
return {
|
|
99
|
-
direction: 'bidirectional',
|
|
100
|
-
success: conflicts.length === 0,
|
|
101
|
-
dbChanges: safeEntityToDb,
|
|
102
|
-
entityChanges: safeDbToEntity,
|
|
103
|
-
conflicts,
|
|
104
|
-
summary: this.formatBidirectionalSummary(safeEntityToDb, safeDbToEntity, conflicts),
|
|
105
|
-
details: {
|
|
106
|
-
db: this.getDiffCounts(safeEntityToDb),
|
|
107
|
-
entity: this.getDiffCounts(safeDbToEntity),
|
|
108
|
-
},
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Build SchemaAST from entities.
|
|
113
|
-
*/
|
|
114
|
-
buildEntityAST() {
|
|
115
|
-
const builder = new SchemaASTBuilder();
|
|
116
|
-
return builder.fromEntities(this.options.entities);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Build SchemaAST from database.
|
|
120
|
-
*/
|
|
121
|
-
async buildDatabaseAST() {
|
|
122
|
-
return this.options.introspector.introspect();
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Filter destructive changes for safe mode.
|
|
126
|
-
*/
|
|
127
|
-
filterDestructiveChanges(diff) {
|
|
128
|
-
return {
|
|
129
|
-
...diff,
|
|
130
|
-
tablesToDrop: [], // Never drop tables in safe mode
|
|
131
|
-
columnDiffs: diff.columnDiffs.filter((d) => d.type !== 'drop'), // Never drop columns
|
|
132
|
-
indexDiffs: diff.indexDiffs.filter((d) => d.type !== 'drop'),
|
|
133
|
-
relationshipDiffs: diff.relationshipDiffs.filter((d) => d.type !== 'drop'),
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Detect conflicts between bidirectional changes.
|
|
138
|
-
*/
|
|
139
|
-
detectConflicts(entityToDb, dbToEntity) {
|
|
140
|
-
const conflicts = [];
|
|
141
|
-
// Find column alterations that exist in both directions (type conflicts)
|
|
142
|
-
const entityColAlters = new Map(entityToDb.columnDiffs.filter((d) => d.type === 'alter').map((d) => [`${d.table}.${d.column}`, d]));
|
|
143
|
-
for (const dbColDiff of dbToEntity.columnDiffs.filter((d) => d.type === 'alter')) {
|
|
144
|
-
const key = `${dbColDiff.table}.${dbColDiff.column}`;
|
|
145
|
-
const entityColDiff = entityColAlters.get(key);
|
|
146
|
-
if (entityColDiff) {
|
|
147
|
-
// Both sides want to alter the same column - conflict
|
|
148
|
-
conflicts.push({
|
|
149
|
-
type: 'type_mismatch',
|
|
150
|
-
table: dbColDiff.table,
|
|
151
|
-
column: dbColDiff.column,
|
|
152
|
-
entityValue: entityColDiff.expected?.type,
|
|
153
|
-
dbValue: dbColDiff.expected?.type,
|
|
154
|
-
suggestion: `Column has different types. Entity: ${this.formatType(entityColDiff.expected?.type)}, DB: ${this.formatType(dbColDiff.expected?.type)}`,
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
return conflicts;
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Filter out conflicting changes.
|
|
162
|
-
*/
|
|
163
|
-
filterConflictingChanges(diff, conflicts) {
|
|
164
|
-
const conflictKeys = new Set(conflicts.map((c) => `${c.table}.${c.column ?? ''}`));
|
|
165
|
-
return {
|
|
166
|
-
...diff,
|
|
167
|
-
columnDiffs: diff.columnDiffs.filter((d) => !conflictKeys.has(`${d.table}.${d.column}`)),
|
|
168
|
-
tablesToAlter: diff.tablesToAlter.filter((t) => !conflictKeys.has(`${t.name}.`)),
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Get counts of changes from a diff.
|
|
173
|
-
*/
|
|
174
|
-
getDiffCounts(diff) {
|
|
175
|
-
return {
|
|
176
|
-
created: diff.tablesToCreate.length + diff.columnDiffs.filter((d) => d.type === 'add').length,
|
|
177
|
-
dropped: diff.tablesToDrop.length + diff.columnDiffs.filter((d) => d.type === 'drop').length,
|
|
178
|
-
altered: diff.columnDiffs.filter((d) => d.type === 'alter').length,
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Format summary for single-direction sync.
|
|
183
|
-
*/
|
|
184
|
-
formatSummary(direction, diff) {
|
|
185
|
-
const lines = [];
|
|
186
|
-
if (direction === 'entity-to-db') {
|
|
187
|
-
lines.push('Entity → Database Changes:');
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
lines.push('Database → Entity Changes:');
|
|
191
|
-
}
|
|
192
|
-
if (diff.tablesToCreate.length > 0) {
|
|
193
|
-
lines.push(` + ${diff.tablesToCreate.length} table(s) to create`);
|
|
194
|
-
}
|
|
195
|
-
if (diff.tablesToDrop.length > 0) {
|
|
196
|
-
lines.push(` - ${diff.tablesToDrop.length} table(s) to drop`);
|
|
197
|
-
}
|
|
198
|
-
if (diff.columnDiffs.length > 0) {
|
|
199
|
-
const adds = diff.columnDiffs.filter((d) => d.type === 'add').length;
|
|
200
|
-
const drops = diff.columnDiffs.filter((d) => d.type === 'drop').length;
|
|
201
|
-
const alters = diff.columnDiffs.filter((d) => d.type === 'alter').length;
|
|
202
|
-
if (adds)
|
|
203
|
-
lines.push(` + ${adds} column(s) to add`);
|
|
204
|
-
if (drops)
|
|
205
|
-
lines.push(` - ${drops} column(s) to drop`);
|
|
206
|
-
if (alters)
|
|
207
|
-
lines.push(` ~ ${alters} column(s) to alter`);
|
|
208
|
-
}
|
|
209
|
-
if (diff.indexDiffs.length > 0) {
|
|
210
|
-
lines.push(` ${diff.indexDiffs.length} index change(s)`);
|
|
211
|
-
}
|
|
212
|
-
if (!diff.hasDifferences) {
|
|
213
|
-
lines.push(' Schema is already in sync.');
|
|
214
|
-
}
|
|
215
|
-
return lines.join('\n');
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Format summary for bidirectional sync.
|
|
219
|
-
*/
|
|
220
|
-
formatBidirectionalSummary(entityToDb, dbToEntity, conflicts) {
|
|
221
|
-
const lines = [];
|
|
222
|
-
lines.push('Bidirectional Sync Report');
|
|
223
|
-
lines.push('========================\n');
|
|
224
|
-
if (conflicts.length > 0) {
|
|
225
|
-
lines.push(`⚠️ ${conflicts.length} conflict(s) require manual resolution:\n`);
|
|
226
|
-
for (const conflict of conflicts) {
|
|
227
|
-
lines.push(` • ${conflict.table}.${conflict.column ?? ''}: ${conflict.suggestion}`);
|
|
228
|
-
}
|
|
229
|
-
lines.push('');
|
|
230
|
-
}
|
|
231
|
-
if (entityToDb.hasDifferences) {
|
|
232
|
-
lines.push('Entity → Database:');
|
|
233
|
-
lines.push(this.formatSummary('entity-to-db', entityToDb).split('\n').slice(1).join('\n'));
|
|
234
|
-
lines.push('');
|
|
235
|
-
}
|
|
236
|
-
if (dbToEntity.hasDifferences) {
|
|
237
|
-
lines.push('Database → Entity:');
|
|
238
|
-
lines.push(this.formatSummary('db-to-entity', dbToEntity).split('\n').slice(1).join('\n'));
|
|
239
|
-
}
|
|
240
|
-
if (!entityToDb.hasDifferences && !dbToEntity.hasDifferences && conflicts.length === 0) {
|
|
241
|
-
lines.push('✓ Schema is in sync.');
|
|
242
|
-
}
|
|
243
|
-
return lines.join('\n');
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Format type for display.
|
|
247
|
-
*/
|
|
248
|
-
formatType(type) {
|
|
249
|
-
if (!type?.category)
|
|
250
|
-
return 'unknown';
|
|
251
|
-
return type.length ? `${type.category}(${type.length})` : type.category;
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Create a SchemaSync instance.
|
|
256
|
-
*/
|
|
257
|
-
export function createSchemaSync(options) {
|
|
258
|
-
return new SchemaSync(options);
|
|
259
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SqliteDialect } from './sqliteDialect.js';
|
|
2
|
-
/**
|
|
3
|
-
* SQLite Dialect specialization for the `better-sqlite3` driver.
|
|
4
|
-
*
|
|
5
|
-
* @remarks Empty subclass by design: distinct type for pools/tests that target
|
|
6
|
-
* better-sqlite3 and a hook for future driver-specific overrides.
|
|
7
|
-
*/
|
|
8
|
-
export declare class BetterSqlite3Dialect extends SqliteDialect {
|
|
9
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SqliteDialect } from './sqliteDialect.js';
|
|
2
|
-
/**
|
|
3
|
-
* SQLite Dialect specialization for the `better-sqlite3` driver.
|
|
4
|
-
*
|
|
5
|
-
* @remarks Empty subclass by design: distinct type for pools/tests that target
|
|
6
|
-
* better-sqlite3 and a hook for future driver-specific overrides.
|
|
7
|
-
*/
|
|
8
|
-
export class BetterSqlite3Dialect extends SqliteDialect {
|
|
9
|
-
}
|