typescript getConnection/getRepository typeorm已弃用

tjvv9vkg  于 2023-04-13  发布在  TypeScript
关注(0)|答案(6)|浏览(1820)

导入typeOrm时出错

有人知道为什么我的typeorm包被弃用了吗?

1hdlvixo

1hdlvixo1#

ConnectionConnectionOptions已弃用,新名称为:DataSource和DataSourceOptions。要创建与之前相同的连接,请使用新语法:new DataSource({ /*...*/ })
createConnection()createConnections()已被弃用,因为Connection现在被称为DataSource,要创建连接并连接到数据库,只需执行以下操作:

server.ts

export const appDataSource = new DataSource({
   // ... options
});

appDataSource.initialize();

user.resolver.ts

import { appDataSource } from '@server';
import { User } from '@user/user.entity';

export class UserResolver {
    userRepo = appDataSource.getRepository(User);
}

更新日志:https://github.com/typeorm/typeorm/blob/master/CHANGELOG.md

qhhrdooz

qhhrdooz2#

您当前的typeorm版本是什么?因为typeorm@0.3.0上有几个不推荐使用的版本,下面是该https://github.com/typeorm/typeorm/blob/master/CHANGELOG.md的更改日志文件

  • getConnection()已弃用。要获得全局可访问的连接,只需导出数据源并在需要的地方使用它 *:
export const myDataSource = new DataSource({ /*...*/ })
// now you can use myDataSource anywhere in your application
vc6uscn9

vc6uscn93#

这可能是因为GetConnect滞后,单击导入可能会建议替换哪个,或者您需要安装您打算使用的库。

eagi6jfj

eagi6jfj4#

而不是使用getRepository使用这种方式:
dataSource.getRepository(Entity)
https://typeorm.io/delete-query-builder#soft-delete

nr7wwzry

nr7wwzry5#

你可以这样做

import { TypeormStore } from 'connect-typeorm';
import * as ExpressSession from 'express-session'; 
import { NestFactory } from '@nestjs/core';
import { Session } from './entities/session.entity';
import { DataSource } from 'typeorm';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  const sessionRepo = app.get(DataSource).getRepository(Session);
  app.use(
    ExpressSession({
      secret: process.env.SESSION_SECRET,
      resave: true,
      name: process.env.SESSION_NAME,
      saveUninitialized: true,
      cookie: { maxAge: Number(process.env.COOKIE_MAX_AGE) },
      store: new TypeormStore().connect(sessionRepo),
    }),
  );

  app.use(passport.initialize());
  app.use(passport.session());

  await app.listen(Number(process.env.NODE_PORT) || 3000);
}
bootstrap();
vshtjzan

vshtjzan6#

尝试重新安装软件包:

  • 脱纱定型机
  • Yarn添加类型
    能否提供更多详细信息?
  • 这是PostgreSQL吗?
  • 显示您的解决方案的代码库,可能在nest docs

相关问题