drizzle implemented

This commit is contained in:
dimitar committed 2025-12-12 00:45:08 +01:00
1 parent cdd854bd70
commit 670e6675cc
21 files changed
+1863 -904

No files matched your search

+8 -8
View File
@@ -1,5 +1,5 @@
import { IDatabase, DatabaseConfig } from './types'
import { SQLiteDatabase } from './sqlite'
import { DrizzleDatabase } from './drizzle'
// Database factory - creates appropriate database instance based on config
export class DatabaseFactory {
@@ -20,28 +20,28 @@ export class DatabaseFactory {
// Create new database instance based on type
switch (config.type) {
case 'sqlite':
this.instance = new SQLiteDatabase(config)
this.instance = new DrizzleDatabase(config)
break
case 'postgresql':
// TODO: Implement PostgreSQLDatabase
throw new Error('PostgreSQL implementation not yet available')
case 'mysql':
// TODO: Implement MySQLDatabase
throw new Error('MySQL implementation not yet available')
case 'mongodb':
// TODO: Implement MongoDBDatabase
throw new Error('MongoDB implementation not yet available')
default:
throw new Error(`Unsupported database type: ${config.type}`)
}
await this.instance.connect()
this.config = config
return this.instance
}
@@ -62,7 +62,7 @@ export class DatabaseFactory {
private static isSameConfig(config: DatabaseConfig): boolean {
if (!this.config) return false
return (
this.config.type === config.type &&
JSON.stringify(this.config.connection) === JSON.stringify(config.connection)