如何在Nestjs中使用Postgres或SQL Server

时间:2019-09-29 07:59:16

标签: nestjs

我来自.net背景,几天前开始为我的一个项目使用nestjs。

我喜欢nestjs的构建方式,但在这里几乎没有疑问。

使用.net时,我可以使用Ado.net,EF等ORM轻松地将.net应用程序与数据库连接。

如何将nestjs与Postgres或SQL Server数据库连接?

我也想知道哪种答案适合企业应用程序?

有参考站点吗?

预先感谢

2 个答案:

答案 0 :(得分:1)

该文档显示了如何使用TypeORMSequilize连接到数据库的示例,或者如果您想使用其他内容,则可以使用自定义提供程序滚动自己的动态模块。 knexpg-promisemassiveORM有一些软件包。这些都应该比企业应用程序更合适,但是如果出现任何问题,请确保通知存储库的所有者。

答案 1 :(得分:0)

这里是我创建的基本结构,目的是为了使用NestJS和PostgreSQL设置当前项目,以防万一。

  1. 我添加了以下软件包:

    $ npm install --save knex objection objection-graphql pg 
    
  2. 创建了嵌套数据库模块,并将此模块添加到app.module.ts中的“导入”和“导出”中:

./src/database/database.module.ts
  1. 然后添加了以下文件和文件夹:
./src/database/migrations

./src/database/models

./src/database/base.model.ts

./src/database/user.model.ts

./src/database/seeds

./src/database/migration.stub

./src/database/seed.stub
  1. 在根目录下,我放置了knexfile.ts
import 'dotenv/config';
import Knex from 'knex';
import { knexSnakeCaseMappers } from 'objection';

module.exports = {
  development: {
    client: 'pg',
    connection: process.env.DATABASE_URL,
    migrations: {
      directory: './src/database/migrations',
      stub: './src/database/migration.stub',
    },
    seeds: {
      directory: './src/database/seeds',
      stub: './src/database/seed.stub'
    },
    ...knexSnakeCaseMappers()
  },
  production: {
    client: 'pg',
    connectio: process.env.DATABASE_URL,
    migrations: {
      directory: __dirname + '/database/migrations',
    },
    seeds: {
      directory: __dirname + '/database/seeds/production',
    },
  },
} as Knex.Config;
  1. 然后对于每个新模块,我从数据库文件夹中调用模型
import { UserModel } from '../database/models/user.model'

就是这样。在这里,您已将PostgreSQL与NestJS连接起来。

就像其他人提到的那样,NestJS手册是写得很好的参考资料。

RON