Nest 怎么自动创建表到数据库

import { Module } from '@nestjs/common';  
import { TypeOrmModule } from '@nestjs/typeorm';  
import { APP_FILTER } from '@nestjs/core';  
  
@Module({  
  imports: [  
    TypeOrmModule.forRoot({  
      type: 'mysql',  
      host: 'localhost',  
      port: 3306,  
      username: 'test',  
      password: 'test',  
      database: 'test',  
      entities: [__dirname + '/**/*.entity{.ts,.js}'], // 扫描实体文件  
      synchronize: true, // 设置为 true 以自动同步数据库结构到你的数据库中  
    }),  
  ],  
  providers: [  
    {  
      provide: APP_FILTER,  
      useClass: YourAppFilter, // 你的过滤器,如果不需要可以忽略这一行  
    },  
  ],  
})  
export class AppModule {}

重点:synchronize: true, // 设置为 true 以自动同步数据库结构到你的数据库中  

类名useraa.ts

  import {

    Column,

    CreateDateColumn,

    Entity,

    PrimaryGeneratedColumn,

    Unique,

    UpdateDateColumn,

  } from 'typeorm';

  /** ユーザアプリアカウント */

  @Entity({ name: 'useraa' })

  @Unique(['ddd'])

  export class Useraa {

    /** アプリアカウントマスタID */

    @PrimaryGeneratedColumn()

    id!: number;

    @Column({

      name: 'ddd',

      comment: 'ddd',

    })

    ddd!: string;

    @CreateDateColumn({

      name: 'create_date',

      comment: '作成日時',

      type: 'timestamp with time zone',

    })

    createDate!: Date;

    @UpdateDateColumn({

      name: 'update_date',

      comment: '更新日時',

      type: 'timestamp with time zone',

      nullable: true,

    })

    updateDate!: Date | null;

  }

自动创建表

1.确保自己的字段没错

2.确保自己的数据库连接没问题

3.synchronize: true, // 设置为 true 以自动同步数据库结构到你的数据库中

(这个设置的就是true。应该是vscode没自动编译 所以重启后编译了)

4.vscode不用关闭重新启动,但是run start必须重启

否则创建不成功 

  1. 运行应用程序:
    当你运行应用程序时,TypeORM 将自动检查你的实体定义,并在数据库中创建相应的表。确保你的数据库驱动程序与 TypeORM 兼容,并且你已经正确配置了数据库连接。
  2. 注意事项:
  • 在生产环境中,建议关闭 synchronize,因为它可能会导致数据丢失。在开发环境中,它可以为你提供方便,但始终确保备份你的数据。
  • 根据你的数据库设置和配置,可能需要调整连接设置和其他相关配置。始终参考 TypeORM 的官方文档以获取最新和详细的设置选项。

也可以用另一种方法创建到数据库

自定义迁移:
如果你需要更多的控制权,可以使用迁移来手动更改数据库结构。

你可以使用 typeorm-migrations 包来创建和运行迁移。这允许你编写脚本,以更细粒度地控制数据库结构的变化。

重点

1.需要配置typeorm 

2.创建migration.ts文件夹

会自动生成文件

3.运行创建命令(具体自己百度)

希望对你有帮助

记得点赞啊 谢谢!

你可能感兴趣的:(数据库,vscode)