SecuteLizeModule - AutoLoadModels / [NEST] Ошибка ScelizeLizeModule не может подключиться к базе данных. ПовторноJavascript

Форум по Javascript
Ответить
Anonymous
 SecuteLizeModule - AutoLoadModels / [NEST] Ошибка ScelizeLizeModule не может подключиться к базе данных. Повторно

Сообщение Anonymous »

Я изучаю NESTJS, я пытаюсь подключиться с помощью модуля Scentize к моей локальной базе данных Postgres, но я продолжаю получать эту ошибку
< /h4>
Ошибка при запуске: dev < /p>
[20:41:14] Starting compilation in watch mode...

[20:41:26] Found 0 errors. Watching for file changes.

[Nest] 14312 - 16.02.2025, 20:41:44 LOG [NestFactory] Starting Nest application...
[Nest] 14312 - 16.02.2025, 20:41:46 LOG [InstanceLoader] AppModule dependencies initialized +1744ms
[Nest] 14312 - 16.02.2025, 20:41:46 LOG [InstanceLoader] SequelizeModule dependencies initialized +0ms
[Nest] 14312 - 16.02.2025, 20:41:46 LOG [InstanceLoader] UsersModule dependencies initialized +1ms
[Nest] 14312 - 16.02.2025, 20:41:46 LOG [InstanceLoader] ConfigHostModule dependencies initialized +0ms
[Nest] 14312 - 16.02.2025, 20:41:46 LOG [InstanceLoader] ConfigModule dependencies initialized +0ms
Executing (default): SELECT 1+1 AS result
Executing (default): SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'users'
Executing (default): CREATE TABLE IF NOT EXISTS "users" ("id" NUMBER SERIAL UNIQUE , "email" VARCHAR(255) NOT NULL UNIQUE, "password" VARCHAR(255) NOT NULL, "banned" BOOLEAN DEFAULT false, "banReason" VARCHAR(255), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, PRIMARY KEY ("id"));
[Nest] 14312 - 16.02.2025, 20:41:46 ERROR [SequelizeModule] Unable to connect to the database. Retrying (1)...
Error
at Query.run (D:\IT\IT\PROJECTS\my_projects\ulbi\backend_node_nest_docker\node_modules\sequelize\src\dialects\postgres\query.js:76:25)
at (D:\IT\IT\PROJECTS\my_projects\ulbi\backend_node_nest_docker\node_modules\sequelize\src\sequelize.js:650:28)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at PostgresQueryInterface.createTable (D:\IT\IT\PROJECTS\my_projects\ulbi\backend_node_nest_docker\node_modules\sequelize\src\dialects\abstract\query-interface.js:229:12)
at Function.sync (D:\IT\IT\PROJECTS\my_projects\ulbi\backend_node_nest_docker\node_modules\sequelize\src\model.js:1353:7)
at Sequelize.sync (D:\IT\IT\PROJECTS\my_projects\ulbi\backend_node_nest_docker\node_modules\sequelize\src\sequelize.js:825:9)
at async D:\IT\IT\PROJECTS\my_projects\ulbi\backend_node_nest_docker\node_modules\@nestjs\sequelize\dist\sequelize-core.module.js:123:17
< /code>
В начале, кажется, некоторые манипуляции происходят, но затем ошибка бросается без объяснения того, что произошло (по крайней мере, я не вижу ничего полезного здесь), а затем в 10 раз ошибки После ошибки ...
< /p>
Соединение Squelizemodule в app.module < /h5>
import { Module } from '@nestjs/common';
import { SequelizeModule } from '@nestjs/sequelize';
import { UsersModule } from './users/users.module';
import { ConfigModule } from '@nestjs/config';
import { User } from './users/users.model';

@Module({
controllers: [],
providers: [],
imports: [
ConfigModule.forRoot({
envFilePath: `.${process.env.NODE_ENV}.env`
}),
SequelizeModule.forRoot({
dialect: 'postgres',
host: process.env.POSTGRES_HOST,
port: Number(process.env.POSTGRES_PORT),
username: process.env.POSTGRES_USER,
password: String(process.env.POSTGRES_PASSWORD),
database: process.env.POSTGRES_DB,
models: [User],
autoLoadModels: false
}),
UsersModule,
],
})
export class AppModule {}
< /code>
ps: пароль через string (), потому что по какой -то причине меня ругало, что это не строка ... < /p>
Использование в пользователях. Модуль < /h5>
import { Module } from '@nestjs/common';
import { UsersController } from './users.controller';
import { UsersService } from './users.service';
import { SequelizeModule } from '@nestjs/sequelize';
import { User } from './users.model';

@Module({
controllers: [UsersController],
providers: [UsersService],
imports: [
SequelizeModule.forFeature([User]),
]
})
export class UsersModule {}
< /code>
< /h5>
.env file < /p>
PORT=5000
POSTGRES_HOST=localhost
POSTGRES_USER=postgres
POSTGRES_PASSWORD=admin
POSTGRES_PORT=5432
POSTGRES_DB=ulbi-nest-course
< /code>

< /h2>
Я сделал некоторый поиск и обнаружил, что он связан с опцией AutoloadModels = true; < /p >
Я попытался установить его на false, и ошибка действительно исчезла, но ... < /h4>
img нет ошибки < /p>
[20:43:19] Starting compilation in watch mode...

[20:43:23] Found 0 errors. Watching for file changes.

[Nest] 28912 - 16.02.2025, 20:43:25 LOG [NestFactory] Starting Nest application...
[Nest] 28912 - 16.02.2025, 20:43:25 LOG [InstanceLoader] AppModule dependencies initialized +162ms
[Nest] 28912 - 16.02.2025, 20:43:25 LOG [InstanceLoader] SequelizeModule dependencies initialized +0ms
[Nest] 28912 - 16.02.2025, 20:43:25 LOG [InstanceLoader] SequelizeCoreModule dependencies initialized +0ms
[Nest] 28912 - 16.02.2025, 20:43:25 LOG [InstanceLoader] UsersModule dependencies initialized +1ms
[Nest] 28912 - 16.02.2025, 20:43:25 LOG [InstanceLoader] ConfigHostModule dependencies initialized +0ms
[Nest] 28912 - 16.02.2025, 20:43:25 LOG [InstanceLoader] SequelizeModule dependencies initialized +0ms
[Nest] 28912 - 16.02.2025, 20:43:25 LOG [InstanceLoader] ConfigModule dependencies initialized +0ms
[Nest] 28912 - 16.02.2025, 20:43:25 LOG [RoutesResolver] UsersController {/users}: +6ms
[Nest] 28912 - 16.02.2025, 20:43:25 LOG [NestApplication] Nest application successfully started +3ms
Listening on port 5000
< /code>
Абсолютно ничего не произошло в базе данных, таблицы не было создано:
< /h5>
postgresql Таблицы < /p>
Пока у меня есть users.model: < /h4>
import { Column, DataType, Model, Table } from 'sequelize-typescript';

interface UserCreationAttrs {
email: string,
password: string,
}

@Table({tableName: 'users'})
export class User extends Model {
@Column({type: DataType.NUMBER, unique: true, autoIncrement: true, primaryKey: true})
id: number;

@Column({type: DataType.STRING, unique: true, allowNull: false})
email: string;

@Column({type: DataType.STRING, allowNull: false})
password: string;

@Column({type: DataType.BOOLEAN, defaultValue: false})
banned: boolean;

@Column({type: DataType.STRING, allowNull: true})
banReason: string;
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... -to-connec
Ответить

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

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

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

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

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