import { Injectable, OnModuleInit } from '@nestjs/common';
import { neon } from '@neondatabase/serverless';
import { drizzle } from 'drizzle-orm/neon-http';
import * as schema from '../../drizzle/schema';
import { db, DatabaseType } from 'drizzle/db';
@Injectable()
export class DatabaseService implements OnModuleInit {
private db: DatabaseType;
constructor() {
this.db = db;
}
async onModuleInit() {
try {
const sql = neon(process.env.DB_URL!);
this.db = drizzle(sql, { schema });
console.log('Database connected successfully');
} catch (error) {
console.error('Failed to connect to the database', error);
throw error;
}
}
getDb() {
return this.db;
}
}
import { Injectable, OnModuleInit } from '@nestjs/common';
import { neon } from '@neondatabase/serverless';
import { drizzle } from 'drizzle-orm/neon-http';
import * as schema from '../../drizzle/schema';
import { db, DatabaseType } from 'drizzle/db';
@Injectable()
export class DatabaseService implements OnModuleInit {
private db: DatabaseType;
constructor() {
this.db = db;
}
async onModuleInit() {
try {
const sql = neon(process.env.DB_URL!);
this.db = drizzle(sql, { schema });
console.log('Database connected successfully');
} catch (error) {
console.error('Failed to connect to the database', error);
throw error;
}
}
getDb() {
return this.db;
}
}