File tree Expand file tree Collapse file tree 3 files changed +66
-1
lines changed Expand file tree Collapse file tree 3 files changed +66
-1
lines changed Original file line number Diff line number Diff line change 11import { Sequelize } from 'sequelize-typescript' ;
22import { User } from './../users/user.entity' ;
3+ import { Post } from './../posts/post.entity' ;
34import { ConfigService } from './../shared/config/config.service' ;
45
56export const databaseProviders = [
67 {
78 provide : 'SEQUELIZE' ,
89 useFactory : async ( configService : ConfigService ) => {
910 const sequelize = new Sequelize ( configService . sequelizeOrmConfig ) ;
10- sequelize . addModels ( [ User ] ) ;
11+ sequelize . addModels ( [ User , Post ] ) ;
1112 await sequelize . sync ( ) ;
1213 return sequelize ;
1314 } ,
Original file line number Diff line number Diff line change 1+ import {
2+ Table ,
3+ PrimaryKey ,
4+ AutoIncrement ,
5+ Column ,
6+ DataType ,
7+ Model ,
8+ ForeignKey ,
9+ Unique ,
10+ Length ,
11+ CreatedAt ,
12+ UpdatedAt ,
13+ DeletedAt ,
14+ BelongsTo ,
15+ } from 'sequelize-typescript' ;
16+ import { User } from './../users/user.entity' ;
17+
18+ @Table ( {
19+ tableName : 'post' ,
20+ } )
21+ export class Post extends Model < Post > {
22+ @PrimaryKey
23+ @AutoIncrement
24+ @Column ( DataType . BIGINT )
25+ id : number ;
26+
27+ @ForeignKey ( ( ) => User )
28+ @Column ( {
29+ type : DataType . UUID ,
30+ field : 'user_id' ,
31+ } )
32+ userId : string ;
33+
34+ @Length ( {
35+ min : 3 ,
36+ max : 60 ,
37+ msg : `The length of post title can't be shorter than 3 and longer than 60 ` ,
38+ } )
39+ @Column
40+ title : string ;
41+
42+ @Column
43+ content : string ;
44+
45+ @CreatedAt
46+ @Column ( { field : 'created_at' } )
47+ createdAt : Date ;
48+
49+ @UpdatedAt
50+ @Column ( { field : 'updated_at' } )
51+ updatedAt : Date ;
52+
53+ @DeletedAt
54+ @Column ( { field : 'deleted_at' } )
55+ deletedAt : Date ;
56+
57+ @BelongsTo ( ( ) => User )
58+ user : User ;
59+ }
Original file line number Diff line number Diff line change @@ -8,8 +8,10 @@ import {
88 CreatedAt ,
99 UpdatedAt ,
1010 DeletedAt ,
11+ HasMany ,
1112} from 'sequelize-typescript' ;
1213import { Gender } from './../shared/enum/gender' ;
14+ import { Post } from './../posts/post.entity' ;
1315
1416@Table ( {
1517 tableName : 'user' ,
@@ -53,4 +55,7 @@ export class User extends Model<User> {
5355 @DeletedAt
5456 @Column ( { field : 'deleted_at' } )
5557 deletedAt : Date ;
58+
59+ @HasMany ( ( ) => Post )
60+ posts : Post [ ] ;
5661}
You can’t perform that action at this time.
0 commit comments