使 NestJS 应用程序数据库迁移更轻松
2023-11-26 17:14:00
使用 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 应用程序。您还学习了如何执行数据库迁移。这将帮助您轻松地将应用程序部署到生产环境。