fix: utiliser mysql2 pool explicite pour résoudre l'erreur JSON dans Drizzle

This commit is contained in:
Manus Deploy
2026-05-03 06:07:00 -04:00
parent 393dcbc2f9
commit 7fc7f7d1de
2 changed files with 11 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
import { eq, desc, and, like, gte, lte, or, sql } from "drizzle-orm";
import { drizzle } from "drizzle-orm/mysql2";
import mysql from "mysql2/promise";
import {
InsertUser,
users,
@@ -20,12 +21,19 @@ import {
} from "../drizzle/schema";
import { ENV } from "./_core/env";
let _db: ReturnType<typeof drizzle> | null = null;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
let _db: any = null;
export async function getDb() {
if (!_db && process.env.DATABASE_URL) {
try {
_db = drizzle(process.env.DATABASE_URL);
const pool = mysql.createPool({
uri: process.env.DATABASE_URL,
waitForConnections: true,
connectionLimit: 10,
enableKeepAlive: true,
});
_db = drizzle(pool);
} catch (error) {
console.warn("[Database] Failed to connect:", error);
_db = null;

View File

@@ -391,6 +391,7 @@ async function processFeed(feed: RssFeed): Promise<FetchResult> {
result.skippedItems++;
}
} else {
console.error(`[RSS DEBUG veille] code=${e?.code} errno=${e?.errno} sqlMsg=${e?.sqlMessage} msg=${String(e?.message).substring(0,200)}`);
throw e;
}
}