golang으로 서버를 짜려다가...
자바-스프링처럼 잘개 쪼개져 있고
구체화된 프레임워크를 다뤄본 적이 없기 때문에
같은 철학으로 만들어진 nestjs 프레임워크를 공부하기 시작했다.
역시 자바스크립트는 재밌긴 하다.
아 타입스크립트인가.
아무튼 데이터베이스를 연결하는데
postgreSQL과 MySql 중 항상 써왔고 읽기 성능이 더 우세하다고 해서
MySql을 연결하고 싶었다.
가이드 그대로 했는데 자꾸..
데이터베이스랑 연결이 안되는 거다..
최신 MySql 버전인 8.0.29 버전은 권한 버그가 있어서
8.0.20 버전으로 설치해서 사용했다.
아.. 권한 버그에 관한 글도 좀 써야겠다.
혹시나 최신버전에서 MySql WorkBench 사용할 때
Server Status 누르고 에러가 뜬다면 그냥 버전을 내리는 게 속이 편하다.
어차피 버전 중에 x.y.zz zz자리는 매우 마이너 업데이트라서 크게 신경 안써도 되는 수준이기 때문이다.
아무튼
전부 주석 처리하고 아래 코드처럼 작성했는데도
개같이 에러나서 집어 치울까 하다가 구글링 해서 알게 되었다.
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: 'root',
password: 'root',
database: 'data-table',
entities: [],
synchronize: true,
}),
],
})
export class AppModule {}
TyeORM은 스키마를 만들어주지 않는다.
SQL은
스키마
- 데이터 테이블
- 컬럼
형태로 되어 있다.
스키마는 데이터 테이블의 모음집이다.
TypeORM이 스키마도 같이 만들어줄꺼라고 생각하고
그냥 실행했더니 안되는 것이다.
그래서 WorkBench에서 직접 만들었다.
음음.!!
잘 되더라
매우 만족.
nestjs의 데이터베이스 연결 가이드는 아래 링크에서 확인 가능하다
https://docs.nestjs.com/techniques/database
Documentation | NestJS - A progressive Node.js framework
Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Progamming), FP (Functional Programming), and FRP (Functional Reac
docs.nestjs.com