返回

使 NestJS 应用程序数据库迁移更轻松

后端

使用 Docker 和 PostgreSQL 设置 NestJS 应用程序

NestJS 是一个功能强大的 Node.js 框架,可帮助您轻松构建可扩展且可维护的应用程序。PostgreSQL 是一个流行的关系数据库管理系统,而 Docker 是一个容器平台,可让您轻松部署和管理应用程序。

在本文中,我们将向您展示如何使用 Docker 和 PostgreSQL 设置 NestJS 应用程序。您还将学习如何执行数据库迁移,以便您可以轻松地将应用程序部署到生产环境。

先决条件

  • Node.js 14 或更高版本
  • PostgreSQL 10 或更高版本
  • Docker Desktop

第 1 步:创建 NestJS 应用程序

首先,我们需要创建一个新的 NestJS 应用程序。为此,您可以使用以下命令:

nest new my-app

这将创建一个名为 my-app 的新 NestJS 应用程序。

第 2 步:安装 Docker 和 PostgreSQL

接下来,我们需要安装 Docker 和 PostgreSQL。

  • Docker

Docker 可以从 Docker 官网下载。

  • PostgreSQL

PostgreSQL 可以从 PostgreSQL 官网下载。

第 3 步:配置 NestJS 应用程序

现在我们需要配置 NestJS 应用程序以使用 PostgreSQL 作为数据库。为此,请在 my-app/src/ormconfig.json 文件中添加以下内容:

{
  "type": "postgres",
  "host": "localhost",
  "port": 5432,
  "username": "postgres",
  "password": "password",
  "database": "my_app",
  "entities": ["dist/**/*.entity{.ts,.js}"],
  "synchronize": true
}

这将告诉 NestJS 应用程序如何连接到 PostgreSQL 数据库。

第 4 步:创建 Dockerfile

接下来,我们需要创建一个 Dockerfile,以便我们可以使用 Docker 构建和运行我们的应用程序。在 my-app 目录中创建名为 Dockerfile 的新文件,并添加以下内容:

FROM node:14

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

CMD ["npm", "run", "start:dev"]

这将告诉 Docker 如何构建和运行我们的应用程序。

第 5 步:构建和运行应用程序

现在我们可以使用以下命令构建和运行我们的应用程序:

docker build -t my-app .

docker run -p 3000:3000 my-app

这将在端口 3000 上启动我们的应用程序。

第 6 步:执行数据库迁移

最后,我们需要执行数据库迁移,以便我们可以创建数据库表。为此,请在终端中运行以下命令:

npm run typeorm migration:run

这将创建数据库表。

结论

现在您已经知道如何使用 Docker 和 PostgreSQL 设置 NestJS 应用程序。您还学习了如何执行数据库迁移。这将帮助您轻松地将应用程序部署到生产环境。