본문 바로가기

Backend/PostgreSQL and TypeORM

(17)
Module '"nestjs-typeorm-paginate"' has no exported member 'IPaginationOptions'. 팀원이 모듈을 설정한 부분이 있었다. 나는 develop 브랜치를 update 해왔는데 위와 같은 에러가 발생하고 있었다. V 체크해볼 부분 - 해당 프로젝트는 npm으로 설치가 되어있었던 터라 node_modules 파일이 있었다. - .gitignore 파일을 보면 /dist와 /node_modules 파일이 컴파일에서 제외되다보니 팀원이 설치한 라이브러리에 대해서 같이 가져올 수 없었다. V 해결방법 터미널에서 yarn install을 통해 그동안 안깔렸던 여러 모듈들을 깔아주었다. 또한 yarn install 하기 전 제목과 같은 에러가 발생하였을때 import { IPaginationMeta, IPaginationOptions } from 'nestjs-typeorm-paginate'; IPag..
QueryBuilder 사용시 = 표현과 = : 표현의 차이점 왜 이 두 표현의 차이점이 이제야 보이기 시작했을까?는 의문이다. (그냥 모르고 갖다 쓴거지 뭐) .createQueryBuilder('popup') .leftJoinAndSelect('popup.popupMultilingualTables', 'multilingual_table') .where('popup.language = :language', { language }) .andWhere('popup.is_active = true') 여기서 보이는 where절과 andWhere절에서 = :language로 쓰느냐, = 로 쓰느냐는 의미가 다르다. 1) popup.language = :language의 경우 뒤에 두번째 인자(파라미터)로 language가 온다. 즉, 파라미터가 있을 경우에 = : 라는 표..
role does not exist Docker + postgreSQL을 함께 사용중이었는데, 계속 제공된 local DB 정보를 연결하면 IntelliJ에서 postgreSQL 연결시 'role does not exist'라는 에러가 발생하였다. 뭔가 현재 접속 계정이, 접근 권한이 없는건가?라는 생각이 들었다. 해결 방법은 다음과 같다. 0) package.json에서 start:db running(이 이름은 각 프로젝트마다 다를 수 있다) 1) local.env 파일에 접속 (관련해서 비슷한 이름이 있는 local db 환경변수 파일에 접속) 2) DB_USER 부분을, 나의 super 권한을 가진 계정 이름으로 입력하기 DB_HOST=localhost DB_PORT=5432 DB_NAME=postgres DB_USER=해당 db의 ..
Local DB 연결방법 Local DB를 연결했던 방법에 대해 정리하려고 한다. 1) IntelliJ 내장 DB > PostgreSQL 선택 2) DB Properties 작성 - 내가 생성한 PostgreSQL 계정 정보를 입력한다. 그리고 상단 name을 작성하면 그것이 DB 연결 리스트에도 같은 이름으로 등록된다. 3) 만약, 해당 프로젝트 디렉토리 하위의 get-typeorm.module.ts 내부의 synchronize:true로 되어있으면 내가 위에서 만든 DB에 해당 DB 내용이 복사될 것이다. (ex. src/해당 프로젝트-data) entities: [entityPath], autoLoadEntities: true, synchronize: false, 그리고 autoLoadEntities가 있는데 복사된 DB의..
SQL table 만들고 id 생성(PK) 1) table의 column은 Entity 기반으로 만든다. 2) 해당 테이블을 클릭한채로 위의 메뉴바에서 연필 모양을 누른다. 3) 1차적으로 DDL 코드가 이렇게 작성되어 있을 것이다. -- auto-generated definition create table obelisk_activity ( value integer, "profileImage" varchar, tx_hash varchar, age integer, tx_from varchar, tx_to varchar, tx_fee integer, dao_id integer ); 4) 위아래로 이렇게 추가해준다. -- auto-generated definition create table obelisk_activity ( id uuid default..
pgAdmin4 사용해보기 - postgreSQL Management Tool Nest.js + postgreSQL을 사용하여 간단한 CRUD App을 만들어보려고 한다. 사용 환경 : MacOS 13.1 version을 사용하고 있는데 아마 Ventura 버전일 것이다. PostgreSQL은 이미 brew로 설치를 해 놓은 상태이다. Mac Terminal에서 psql postgres를 하면 postgreSQL과 연결된다. pgAdmin4 설치 (Management Tools for PostgreSQL) https://www.postgresql.org/ftp/pgadmin/pgadmin4/v6.20/macos/ PostgreSQL: File Browser www.postgresql.org macOS 기준이며, 아래의 pgadmin4~ .dmg 파일을 다운받아주면 된다. 설치가 완..
IntelliJ + PostgreSQL 연동방법(Mac Terminal 이용) 1. iterms2.2에서 아래의 명령어를 입력한다 ~ psql postgres 2. postgre가 연결되면 postgres=# 으로 바뀌고, 해당하는 명령어를 입력하면 된다. 3. IntelliJ와 postgreDB 연결 postgres=# \c DB이름 IntelliJ에서 만든 Entity 파일을 기준으로 테이블이 맵핑된다. 4. 연결 성공시 You are now connected to database "DB이름" as user "Mac사용자이름". 터미널에 출력된다. 5. IntelliJ로 이동 우측 탭 Database > + > DataSource > Postgre SQL 클릭 후 먼저 위에서 \c를 통해 DB가 잘 연결되었는지 Test Connection으로 확인한다. 연결이 잘 되었다면 아래..