More Related Content
Similar to typeorm.pdf (20)
More from NuttavutThongjor1
More from NuttavutThongjor1 (20)
Recently uploaded
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
typeorm.pdf
- 1. Babel Coder
TYPEORM
export const AppDataSource = new DataSource({
type: 'mssql',
host: config.database.host,
port: config.database.port,
username: config.database.username,
password: config.database.password,
database: config.database.name,
synchronize: false,
logging: true,
subscribers: [],
entities: [User],
migrations,
extra: {
trustServerCertificate: true,
trustedConnection: true,
},
options: {
useUTC: true,
encrypt: true,
},
});
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column({ unique: true })
name: string;
@Column({ unique: true })
email: string;
@Column()
password: string;
@Column({
type: 'int',
default: Role.MEMBER,
})
role: Role;
@Column({ nullable: true })
avatar?: string;
@Column({ nullable: true, unique: true })
refreshToken?: string;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
@BeforeInsert()
async hashPassword() {
const hash = await bcrypt.hash(this.password, 10);
this.password = hash;
}
isValidPassword(password: string) {
return bcrypt.compare(password, this.password);
}
}
const migrations = [
CreateUserTable1677496221672,
];
export default migrations;
- 2. Babel Coder
MIGRATION
project.json
{
"targets": {
"migration:create": {
"executor": "nx:run-commands",
"options": {
"envFile": "apps/api/.env",
"command": "npm run typeorm migration:create -- apps/api/src/data/migration/{args.name} -- -d apps/api/src/data/data-source.ts"
}
},
"migration:generate": {
"executor": "nx:run-commands",
"options": {
"envFile": "apps/api/.env",
"command": "npm run typeorm migration:generate -- -d apps/api/src/data/data-source.ts apps/api/src/data/migration/{args.name}"
}
},
"migration:run": {
"executor": "nx:run-commands",
"options": {
"envFile": "apps/api/.env",
"command": "npm run typeorm migration:run -- -d apps/api/src/data/data-source.ts"
}
},
"migration:revert": {
"executor": "nx:run-commands",
"options": {
"envFile": "apps/api/.env",
"command": "npm run typeorm migration:revert -- -d apps/api/src/data/data-source.ts"
}
},
},
"tags": []
}
nx run api:migration:generate --name CreateUserTable
nx run api:migration:run
nx run api:migration:revert
nx run api:migration:create --name AddRefreshTokenToUserTable