当我运行迁移时,会得到以下错误。最初,我在一个项目中实现了这一点--现在,我创建了一个新的空白项目,但仍然得到了错误。下面是ormconfig.ts:
import { DataSource } from 'typeorm';
const env = {
"DB_HOST":"localhost",
"DB_PORT":5432,
"DB_USERNAME":"postgres",
"DB_PASSWORD":"postgres",
"DB_DATABASE":"task-management",
}
export const connectionSource = new DataSource({
migrationsTableName: 'migrations',
type: 'postgres',
host: env.DB_HOST,
port: env.DB_PORT,
username: env.DB_USERNAME,
password: env.DB_PASSWORD,
database: env.DB_DATABASE,
logging: false,
synchronize: false,
name: 'default',
migrations: ['migrations/**/*{.ts,.js}'],
});我使用: the -node迁移:运行-d迁移/omconfig.ts运行迁移。
这将产生以下错误:
Error during migration run:
RangeError: Maximum call stack size exceeded
at /Users/christianayscue/Desktop/nestjsClass/nestjs-task-management/node_modules/src/util/DirectoryExportedClassesLoader.ts:29:43
at Array.forEach (<anonymous>)
at loadFileClasses (/Users/christianayscue/Desktop/nestjsClass/nestjs-task-management/node_modules/src/util/DirectoryExportedClassesLoader.ts:29:35)
at /Users/christianayscue/Desktop/nestjsClass/nestjs-task-management/node_modules/src/util/DirectoryExportedClassesLoader.ts:27:42
at Array.forEach (<anonymous>)
at loadFileClasses (/Users/christianayscue/Desktop/nestjsClass/nestjs-task-management/node_modules/src/util/DirectoryExportedClassesLoader.ts:27:22)
at /Users/christianayscue/Desktop/nestjsClass/nestjs-task-management/node_modules/src/util/DirectoryExportedClassesLoader.ts:30:17
at Array.forEach (<anonymous>)
at loadFileClasses (/Users/christianayscue/Desktop/nestjsClass/nestjs-task-management/node_modules/src/util/DirectoryExportedClassesLoader.ts:29:35)
at /Users/christianayscue/Desktop/nestjsClass/nestjs-task-management/node_modules/src/util/DirectoryExportedClassesLoader.ts:30:17我假设在DirectoryExportedClassesLoader.ts中存在导致无限循环的循环依赖,所以我将一个console.log(JSON.stringify(导出))放在DirectoryExportedClassesLoader.ts的第26行,现在我得到:
TypeError: Converting circular structure to JSON
--> starting at object with constructor 'DataSource'
| property 'driver' -> object with constructor 'PostgresDriver'
--- property 'connection' closes the circle
at JSON.stringify (<anonymous>)
at loadFileClasses (/Users/christianayscue/Desktop/nestjsClass/typeormTest/src/util/DirectoryExportedClassesLoader.ts:29:25)如果存在循环依赖项,则似乎可以保证DirectoryExportedClassLoader.js获得最大调用堆栈大小超过错误,因为每当遇到对象属性时,它都是自递归的。
请帮帮忙!
发布于 2022-10-19 01:54:08
从DataSource配置对象中更改此条目解决了问题。
migrations: []这是其中之一,只是经过了大量的尝试和错误的解决.
https://stackoverflow.com/questions/73778521
复制相似问题