mirror of
https://github.com/ngthanhvu/kr-phim.git
synced 2026-08-10 18:07:47 +00:00
- Implemented movie CRUD operations with endpoints for creating, retrieving, updating, and deleting movies. - Added pagination and filtering capabilities for movie retrieval. - Integrated Redis caching for improved performance on movie data retrieval. - Created database schema for movies with necessary fields and types. - Added migration files for initial movie table creation and subsequent updates. - Configured database connection using Drizzle ORM with MySQL. - Established Redis connection utility for caching.
16 lines
436 B
TypeScript
16 lines
436 B
TypeScript
import { drizzle } from 'drizzle-orm/mysql2'
|
|
import mysql from 'mysql2/promise'
|
|
import * as schema from '../database/schema'
|
|
|
|
let _db: ReturnType<typeof drizzle<typeof schema>> | undefined
|
|
|
|
export function useDb() {
|
|
if (_db) return _db
|
|
|
|
const url = process.env.DATABASE_URL || 'mysql://cinek:cinekpassword@localhost:3306/cinek'
|
|
const pool = mysql.createPool(url)
|
|
|
|
_db = drizzle(pool, { mode: 'default', schema })
|
|
return _db
|
|
}
|