在NestJS中创建生成并执行PostgreSQL的TypeORM Migration

在NestJS中创建生成并执行PostgreSQL的TypeORM Migration

推荐超级课程:

在这里插入图片描述

您想使用TypeORM从实体创建、运行和生成 Migration吗?在这个Nest.js TypeORM Migration示例指南中,您将学到:

  • 如何在NestJS中使用PostgreSQL创建TypeORM Migration
  • 创建一个实体,TypeORM用来运行 Migration
  • 创建TypeORM Migration的步骤
  • 使用TypeORM生成 Migration
  • 显示所有 Migration
  • 应用 Migration
  • 回滚和撤销 Migration
  • 运行待处理的 Migration
  • 了解TypeORM数据库同步
  • 如何手动生成、运行和应用TypeORM NestJS Migration。
  • 撤销上一个 Migration。

先决条件

要在Nest.js中使用TypeORM Migration,请确保您具备以下内容:

  • 在计算机上安装了Node.js
  • 在计算机上安装了PostgreSQL
  • 对使用NestJS和TypeORM有一些基本了解将是一个额外的优势。

配置TypeORM Migration实体与PostgreSQL

实体使用TypeORM需要创建数据库表(在运行NOSQL数据库时会创建集合)的类和装饰器。简化起见,实体定义了数据的模式和结构。

您的 Migration将使用一个实体,让TypeORM在您的PostgreSQL上完成它的工作。因此,要让TypeORM从实体生成 Migration,请按以下方式创建一个:

  • 确保您已安装Nest.js CLI:

    npm install -g @nestjs/cli
    
  • 设置您的Nest.js应用程序:

    nest new task_app_api
    
  • 安装核心TypeORM Migration依赖项和pg用于PostgreSQL包:

    npm install --save @nestjs/typeorm typeorm @nestjs/config pg
    
  • 准备好您的模块

nest g module task
nest g service task --no-spec
nest g controller task --no-spec 

要配置一个实体,创建一个task.entity.ts文件在src/task目录中。此文件将承载tasks表的配置。现在使用TypeORM实体表示您的 Migration表如下:

import {
    Entity, Column, PrimaryGeneratedColumn } from 'typeorm';

@Entity("tasks")
export class Task {
   
    @PrimaryGeneratedColumn()
    id: number;

    @Column()
    title: string;

    @Column()
    description: string;

    @Column({
    default: false })
    isCompleted: boolean;
}

TypeORM将在您的模块中访问这个实体。转到src/task/task.module.ts,按如下方式导入和配置TypeOrmModule

// 导入模块和组件
import {
    Module } from '@nestjs/common'; 
import {
    TaskService } from './task.service'; 
import {
    TaskController } from './task.controller'; 
// TypeOrmModule创建数据库集成
import {
    TypeOrmModule } from '@nestjs/typeorm'; 
// 您的Task实体类
import {
    Task 
  • 21
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小涵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值