Warum erkennt Nieselregen mit TypeScript mein Schema nicht und zeigen fehlende Eigenschaften im VS -Code?JavaScript

Javascript-Forum
Anonymous
 Warum erkennt Nieselregen mit TypeScript mein Schema nicht und zeigen fehlende Eigenschaften im VS -Code?

Post by Anonymous »

Ich habe kürzlich mein Dreckle Orm -Setup von JavaScript in TypeScript migriert und jetzt mit einem Problem konfrontiert, bei dem das Datenbankschema nicht korrekt erkannt wird. Abfragen Sie meine Datenbank mit Drizzle ORM ab, ich erhalte den folgenden Typ -Skript -Fehler:
Eigenschaft 'Benutzer' User 'existiert nicht auf dem Typ' {} '. Nodepgclient; } '.
Typ' dBQuery 'fehlt die folgenden Eigenschaften aus dem Typ' nodepgdatabase ': _, Abfrage, $ mit, $ count und 10 weitere.

Code: Select all

import * as schema from "../core/models/index";
import { Pool } from "pg";
import { drizzle } from "drizzle-orm/node-postgres";
import { environmentVar } from "./env";

class DatabaseConnection {
private static instance: DatabaseConnection | null = null;
private pool!: Pool;
private db: ReturnType | null = null;

constructor() {
if (DatabaseConnection.instance) {
return DatabaseConnection.instance;
}

if (!environmentVar.DATABASE_URL) {
throw new Error("DATABASE_URL is not defined in the environment.");
}

this.pool = new Pool({
connectionString: environmentVar.DATABASE_URL,
max: 20,
idleTimeoutMillis: 60000 * 5,
connectionTimeoutMillis: 5000,
});

DatabaseConnection.instance = this;
}

getConnection() {
if (!this.db) {
this.db = drizzle(this.pool, { schema });
}

return this.db;
}

async close() {
if (this.pool) {
await this.pool.end();
console.log("Database pool closed.");
}
}
}

const dbInstance = new DatabaseConnection();
export const db = dbInstance.getConnection();

< /code>
Abfragecode < /p>
import { db } from "../../config/database";
import { eq } from "drizzle-orm";
import { users } from "../core/models/index";

async function findUserByPhoneNumber(phoneNumber: string) {
const user = await db.query.users.findFirst({
where: eq(users.phoneNumber, phoneNumber),
});
return user;
}
Was ich bisher ausprobiert habe:
✅ bestätigte, dass mein Schema korrekt aus ../core/models/index.ts
✅ Probit Console.log (db.Query) - Es gibt ["usweme", "Benutzer". Die Schema -Datei, anstatt sich auf db.query zu verlassen. Problemumgehung, aber dies ist keine ordnungsgemäße Lösung < /p>
Fragen:
Warum erkennt TypeScript mein Schema nicht und zeigt einen Fehler, obwohl der Code funktioniert? ORM färbt das Schema richtig? Es gab angemessene Vorschläge in VS Code Autocompletion und funktionierte gut.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post