27 lines
737 B
TypeScript
27 lines
737 B
TypeScript
|
import { drizzle } from 'drizzle-orm/mysql2';
|
||
|
import mysql from 'mysql2/promise';
|
||
|
import * as schema from './schema';
|
||
|
|
||
|
// Create the connection pool
|
||
|
const connection = await mysql.createConnection({
|
||
|
uri: process.env.DATABASE_URL!,
|
||
|
});
|
||
|
|
||
|
// Create the drizzle database instance
|
||
|
export const db = drizzle(connection, { schema, mode: 'default' });
|
||
|
|
||
|
// Export the schema for use in other parts of the app
|
||
|
export * from './schema';
|
||
|
|
||
|
// Test the connection
|
||
|
export const testConnection = async () => {
|
||
|
try {
|
||
|
await connection.ping();
|
||
|
console.log('✅ Database connection successful');
|
||
|
return true;
|
||
|
} catch (error) {
|
||
|
console.error('❌ Database connection failed:', error);
|
||
|
return false;
|
||
|
}
|
||
|
};
|