应用可以选择一种 orm 来处理应用数据,我们要用的是 TypeOrm,它可以用在 Node 项目里。
安装 TypeOrm
下面要给项目安装一些东西,在终端,项目所在目录的下面,执行 npm install 安装一下 mysql2,这是一个连接 mysql 数据服务用的包,再安装一下 typeorm,还需要一个 @nestjs/typeorm,这个包可以帮我们把 typeorm 集成到项目里。
配置 TypeOrm
打开 app.module,在这个模块里需要配置一下 TypeOrmModule ,用一下 TypeOrmModule 里面提供的 forRootAsync 这个方法。 提供一个对象,里面先添加一个 inject,要注入的是 ConfigService,因为我们会用到一些数据库配置。
下面添加一个 useFactory,它是一个方法,添加一个 configService 参数,类型是 ConfigService ,返回的东西是一个对象,在里面先设置一下 type ,对应的值是 mysql ,说明要连接的是 mysql 这种类型的数据服务。
再添加一个 host,值可以用一下注入进来的这个 configService 上面的 get,获取到 db.host 这个配置。 再添加一个 port ,对应的值是数据服务的端口,用一下 configService.get,获取到 db.port 这个配置的值。
然后可以是 username ,对应的值是数据服务的用户名,获取到 db.username 这个配置的值。下面是 password,数据服务用户对应的密码,它的值可以使用 configService.get,得到 db.password 这个配置。
下面是 database ,它的值是数据仓库的名字,用一下 configService.get 获取到 db.database 这个配置的值。
测试
在终端,可以观察一下输出的日志,这里没有提示错误,就说明我们的应用已经可以正常跟 mysql 数据服务连接了。
可以这样再试一下,比如注释掉这个 password 属性,然后在终端观察一下,这里会提示 Unable to connect to the database ,无法连接数据服务。
回到项目,再恢复一下这个注释。在控制台观察一下,恢复以后,应用就又可以正常跟数据服务连接了。