Почему дождь с помощью TypeScript не распознает мою схему и не показывает недостающие свойства в коде VS?Javascript

Форум по Javascript
Ответить
Anonymous
 Почему дождь с помощью TypeScript не распознает мою схему и не показывает недостающие свойства в коде VS?

Сообщение Anonymous »

Я недавно перенес свою настройку моряющегося ORM с JavaScript в TypeScript, и теперь я столкнулся с проблемой, в которой схема базы данных не распознается правильно. Запросите мою базу данных, используя моровое orm, я получаю следующую ошибку типовой типа:
свойство «пользователи» не существует на типе '{}'. Nodepgclient; } '.
type' dbquery 'не хватает следующих свойств из типа' nodepgdatabase ': _, запрос, $ with, $ count и 10 еще.

Код: Выделить всё

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>
Код запроса < /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;
}
То, что я пробовал до сих пор:
✅ подтвердил, что моя схема правильно экспортируется из ../core/models/index.ts
образного/> ✅ Пробое консоли. Файл схемы вместо того, чтобы полагаться на db.query.users < /p>
✅ Изменение базы данных. Обходной путь, но это не правильное решение < /p>
Вопросы:
Почему TypeScript не распознает мою схему и не показывает ошибку, даже если код работает? Орм правильно разворачивает схему? Он давал надлежащие предложения в автозаполнении кода VS и работало нормально.

Подробнее здесь: https://stackoverflow.com/questions/795 ... missing-pr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»