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

发布时间:2024年01月14日

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.运行创建命令(具体自己百度)

希望对你有帮助

记得点赞啊 谢谢!

文章来源:https://blog.csdn.net/m0_74772114/article/details/135472058
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。