如何在nestjs中使用postgres或SQL Server

如何在nestjs中使用postgres或SQL Server,nestjs,Nestjs,我来自.net背景,几天前开始在我的一个项目中使用nestjs 我喜欢nestjs的构建方式,但这里没有什么问题 在使用.net时,我可以通过Ado.net、EF等ORM轻松地将.net应用程序与数据库连接起来 如何将nestjs与Postgres或SQL Server数据库连接 无论答案是什么,我也想知道这是否适用于企业应用程序 有参考网站吗 提前感谢这些文档展示了如何使用和连接到数据库的示例,如果您想使用其他功能,也可以使用自定义提供程序滚动您自己的动态模块。有一些包裹是为和准备的。这些都非

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

我喜欢nestjs的构建方式,但这里没有什么问题

在使用.net时,我可以通过Ado.net、EF等ORM轻松地将.net应用程序与数据库连接起来

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

无论答案是什么,我也想知道这是否适用于企业应用程序

有参考网站吗


提前感谢

这些文档展示了如何使用和连接到数据库的示例,如果您想使用其他功能,也可以使用自定义提供程序滚动您自己的动态模块。有一些包裹是为和准备的。这些都非常适合企业应用程序,但如果出现任何问题,请务必通知存储库的所有者。

以下是我创建的基本结构,用于使用NestJS和PostgreSQL设置当前项目,以防有所帮助。

  • 我添加了以下软件包:

  • 创建了嵌套数据库模块,并将此模块添加到app.module.ts中的“导入”和“导出”中:

  • 然后添加以下文件和文件夹:
  • 在根级别,我放置了knexfile.ts
  • 然后,对于每个新模块,我从数据库文件夹调用模型
  • 就这样。这里您已经将PostgreSQL与NestJS连接起来

    正如其他人提到的,NestJS手册是一本编写良好的资源,可供详细参考


    RON

    有很多库,选择在很大程度上取决于您使用ProstgreSQL的经验和个人喜好。对于初学者,您对PostgreSQL了解多少,您喜欢直接编写SQL还是通过数据模型围绕它编写代码。性能要求和实际使用案例。在我看来,TypeORM将是使用NestJS构建可靠后端的一个好工具,而且它还得到了大量赞助商()的支持,最后一点是,它有很好的文档记录,总体而言,它已被社区很好地采用。值得注意的是,
    pg promise
    是列表中唯一一个不是ORM的,它用于直接执行SQL,对于熟悉SQL的人来说是个不错的选择。@vitaly-t你完全正确。我刚开始列出我知道的不同的NestJS数据库包。我最终推出了自己的
    pg
    模块,并将其用于我的个人项目中。不过,所有其他的都是ORM,都适用于上述情况。@JayMcDoniel感谢您的回答。我试着用nestjs安装TypeORM,但它不起作用。你有什么推荐信吗?我使用文档,但它仍然提供了很多警告。您遇到了什么样的问题?我已经设置了一个存储库,用于演示如何测试TypeORM Nest项目。@Glennsingh看起来您没有提供登录SQL server的用户名和密码。你能在本地登录服务器吗?你知道你使用什么凭证吗?
    $ npm install --save knex objection objection-graphql pg 
    
    ./src/database/database.module.ts
    
    ./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
    
    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;
    
    import { UserModel } from '../database/models/user.model'