typeORM migration:generate 无法识别导入 baseurl
typeORM migration:generate not recognise import baseurl
我正在将 typeORM 与 nestjs 和 typescript 一起使用。我有 nestjs,所以所有导入语句都可以以 'src/...' 开头 typeorm 将只接受使用 ../
对其他实体的导入
找不到引用的实体
import { User } from 'src/users/entities/user.entity';
查找引用实体的结构:
import { User } from '../users/entities/user.entity';
我正在使用来自 package.json
的脚本
"migration:generate": "ts-node node_modules/.bin/typeorm migration:generate -n"
ormconfig.json
[
{
"name": "default",
"type": "postgres",
"host": "localhost",
"port": 5432,
"username": "xxxx",
"password": "xxx",
"database": "xxxx",
"schema": "xxx",
"migrations": ["dist/migrations/*{.ts,.js}"],
"migrationsTableName": "migrations_typeorm"
}
]
tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true
}
}
巢-cli.json
{
"collection": "@nestjs/schematics",
"sourceRoot": "src"
}
我已经尝试了 的建议,但它没有解决我的问题。
当包含其他实体时,如何让 orm 迁移在导入语句中接受以 src/ 开头的路径?
非常感谢
遇到这个问题2天了。我一直在摸不着头脑,为什么 typeorm cli 不遵守我 tsconfig.json 中的 'baseUrl' 设置。我想我找到了解决方案。因此,如果您查看 package.json 中的另一个脚本:
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand"
有一个名为 tsconfig-paths/register 的模块。我搜索了一下,宾果游戏!它确实有助于解析导入路径,同时尊重 tsconfig.json 中的 'baseUrl'。所以我在 package.json 中修改了我的 typeorm 脚本,如下所示:
"typeorm": "node -r tsconfig-paths/register -r ts-node/register ./node_modules/typeorm/cli.js"
然后它就像一个魅力。谢谢
我正在将 typeORM 与 nestjs 和 typescript 一起使用。我有 nestjs,所以所有导入语句都可以以 'src/...' 开头 typeorm 将只接受使用 ../
对其他实体的导入找不到引用的实体
import { User } from 'src/users/entities/user.entity';
查找引用实体的结构:
import { User } from '../users/entities/user.entity';
我正在使用来自 package.json
的脚本"migration:generate": "ts-node node_modules/.bin/typeorm migration:generate -n"
ormconfig.json
[
{
"name": "default",
"type": "postgres",
"host": "localhost",
"port": 5432,
"username": "xxxx",
"password": "xxx",
"database": "xxxx",
"schema": "xxx",
"migrations": ["dist/migrations/*{.ts,.js}"],
"migrationsTableName": "migrations_typeorm"
}
]
tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true
}
}
巢-cli.json
{
"collection": "@nestjs/schematics",
"sourceRoot": "src"
}
我已经尝试了
非常感谢
遇到这个问题2天了。我一直在摸不着头脑,为什么 typeorm cli 不遵守我 tsconfig.json 中的 'baseUrl' 设置。我想我找到了解决方案。因此,如果您查看 package.json 中的另一个脚本:
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand"
有一个名为 tsconfig-paths/register 的模块。我搜索了一下,宾果游戏!它确实有助于解析导入路径,同时尊重 tsconfig.json 中的 'baseUrl'。所以我在 package.json 中修改了我的 typeorm 脚本,如下所示:
"typeorm": "node -r tsconfig-paths/register -r ts-node/register ./node_modules/typeorm/cli.js"
然后它就像一个魅力。谢谢