TypeORM
typeorm database migration
typeorm database migration
2021.06.24기존의 database migration 하기 npm i typeorm-model-generator -D 라이브러리를 설치합니다. npx typeorm-modelgenerator -h localhost -d (db_name) -u root -x (password) -e mysql -h : host 를 의미 -d : database 이름 -u : user 이름 -x : password -e : engine 이렇게 하게되면 output 폴더가 생성됩니다. entities 폴더는 src 폴더 안으로 옮기고 config.json은 추후에 필요할지도 모르니 남겨놓을게요 mysql 의 이런설정들이 entitiy 폴더로 그대로 옮겨 오게 됩니다. 이와 반대로 entitiy 에서 정의한후 database로 생성하는 것..
Nestjs , Typeorm 에서 Hasing passwords
Nestjs , Typeorm 에서 Hasing passwords
2021.06.05비밀번호 단방향 암호화 데이터 베이스에 입력된 비밀번호를 그대로 노출하게 된다면 보안에 큰 결함이 생기게 됩니다. 그래서 입력된 비밀번호를 단방향 암호화를 통해 못생기게 바꿔줄 예정입니다. 먼저 암호화를 하기 전에 Listener 에대해 짚고 넘어가야 합니다. Typeorm listener Listener 는 기본적으로 entity 에 무슨일이 생길때 실행됩니다. entity 는 nestjs 에서 정의하는 데이터베이스 모델이에요 우리가 원하는것은 Beforeinsert 데코레이터 입니다. insert 가 되기전에 먼저 실행해주는 데코레이터 입니다. User class 에 BeforeInsert 부분을 추가합니다. 그리고 password 를 암호화 하기위해 "bcrypt" 를 사용합니다. bcrypt np..
Nestjs - User model
Nestjs - User model
2021.06.01nest g mo users로 모듈을 생성합니다. 이전에 연습삼아 만들고 있었던 레스토랑 모듈은 빼주도록 하겠습니다. entities 에서도 빼줄게요 imports 에 UsersModule 이 잘 추가되었습니다. users 폴더 안에 entities 폴더를 만들고 user.entity.ts 파일을 만들게요 user.entity.ts 는 database 모델을 정의하기 위한 ts 파일입니다. TypeOrmModule 의 syncronize 값을 True 로 바꿔주면 user.entity.ts 에서 정의한 Column 들을 그대로 데이터베이스에 반영합니다. user.entity.ts import { Column, Entity } from 'typeorm'; type UserRole = '..
Nestjs - Typeorm Repository 사용하기
Nestjs - Typeorm Repository 사용하기
2021.05.31repository import restaurants 라는 App 안에서 resturants.module.ts 에서 entities 안에 정의된 모델을 import 해야 합니다. TypeOrmModule.forFeature() 안에 배열 형식으로 entities 안에 정의된 모델을 import 합니다. DB에 접근할 수 있는 service 만들기 restaurants/restaurants.service.ts 파일을 만든뒤 다음과 같이 작성합니다. 그런다음 restaurants.resolver.ts 로 이동하여 constructor(private readonly restaurantService: ResaurantService) {} 를 추가합니다. 마지막으로 restaurants.module.ts 에서 p..
TypeORM setup 과 Nestjs Config
TypeORM setup 과 Nestjs Config
2021.05.23postgresql 을 사용할 것이고 postgresql 이 설치되어 있따는 가정하에 진행 합니다. 실행 환경은 MAC OS 입니다. nestjs 에서 typeorm 을 사용하기 위해서 다음과 같이 설치합니다. npm i --save @nestjs/typeorm typeorm pg app.module.ts import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { GraphQLModule } from '@nestjs/graphql'; import { TypeOrmModule } from '@nestjs/typeorm'; import { RestaurantsModule } from './res..