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必须重启
否则创建不成功
- 运行应用程序:
当你运行应用程序时,TypeORM 将自动检查你的实体定义,并在数据库中创建相应的表。确保你的数据库驱动程序与 TypeORM 兼容,并且你已经正确配置了数据库连接。 - 注意事项:
- 在生产环境中,建议关闭
synchronize
,因为它可能会导致数据丢失。在开发环境中,它可以为你提供方便,但始终确保备份你的数据。 - 根据你的数据库设置和配置,可能需要调整连接设置和其他相关配置。始终参考 TypeORM 的官方文档以获取最新和详细的设置选项。
以
下
可
以
不
看
也可以用另一种方法创建到数据库
自定义迁移:
如果你需要更多的控制权,可以使用迁移来手动更改数据库结构。
你可以使用 typeorm-migrations
包来创建和运行迁移。这允许你编写脚本,以更细粒度地控制数据库结构的变化。
重点
1.需要配置typeorm
2.创建migration.ts文件夹
会自动生成文件
3.运行创建命令(具体自己百度)
希望对你有帮助
记得点赞啊 谢谢!