inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

typeorm seeding, migration

package.json / "scripts" / schema:drop, schma:sync에 `-d ./dataSource.ts` 옵션을 넣지 않으신 이유가 있으신가요?

해결된 질문

341

jeongho218

작성한 질문수 9

0

테이블 삭제도 시도해보고 싶어서 터미널에

$ npm run schema:drop 을 입력하였더니 아래와 같은 내용이 나왔습니다.

Drops all tables in the database on your default dataSource. To drop table of a
concrete connection's database use -c option.

옵션:
  -h, --help        도움말 표시                                         [불리언]
  -d, --dataSource  Path to the file where your DataSource instance is defined.
                                                                          [필수]
  -v, --version     버전 표시                                           [불리언]

필수 인수가 주어지지 않았습니다: dataSource

 

dataSource가 주어지지 않았다고 해서 살펴보다

package.json/scripts/schema에 다른 명령어들과는 다르게 경로가 지정되어 있지 않는것 같아

아래와 같이 수정했고,

{
"scripts": {
    "seed": "ts-node ./node_modules/typeorm-extension/bin/cli.cjs seed:run -d ./dataSource.ts",
    "schema:drop": "ts-node ./node_modules/typeorm/cli.js schema:drop -d ./dataSource.ts",
    "schema:sync": "ts-node ./node_modules/typeorm/cli.js schema:sync",
}
}

 

테이블 삭제에 성공했습니다.

$ npm run schema:drop 

> a-nest@0.0.1 schema:drop
> ts-node ./node_modules/typeorm/cli.js schema:drop -d ./dataSource.ts

query: SELECT VERSION() AS `version`
query: SELECT * FROM `INFORMATION_SCHEMA`.`SCHEMATA` WHERE `SCHEMA_NAME` = '00_nestjs_typeorm'
query: START TRANSACTION
query: SELECT concat('DROP VIEW IF EXISTS `', table_schema, '`.`', table_name, '`') AS `query` FROM `INFORMATION_SCHEMA`.`VIEWS` WHERE `TABLE_SCHEMA` = '00_nestjs_typeorm'
query: SELECT concat('DROP TABLE IF EXISTS `', table_schema, '`.`', table_name, '`') AS `query` FROM ` `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_SCHEMA` = '00_nestjs_typeorm'                             INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_SCHEMA` = '00_nestjs_typeorm'
query: DROP TABLE IF EXISTS `00_nestjs_typeorm`.`channelchats`
query: DROP TABLE IF EXISTS `00_nestjs_typeorm`.`channelmembers`
query: DROP TABLE IF EXISTS `00_nestjs_typeorm`.`channels`
query: DROP TABLE IF EXISTS `00_nestjs_typeorm`.`dms`
query: DROP TABLE IF EXISTS `00_nestjs_typeorm`.`mentions`
query: DROP TABLE IF EXISTS `00_nestjs_typeorm`.`migrations`
query: DROP TABLE IF EXISTS `00_nestjs_typeorm`.`users`
query: DROP TABLE IF EXISTS `00_nestjs_typeorm`.`workspacemembers`
query: DROP TABLE IF EXISTS `00_nestjs_typeorm`.`workspaces`
query: SET FOREIGN_KEY_CHECKS = 1;
query: COMMIT
Database schema has been successfully dropped.

 

혹시 schema:drop, schema:sync 명령어에 경로를 지정하지 않으신 이유가 있으신지,

경로를 빼놓은 상태로 유지하다가, 정말 필요할 때에만 경로 지정하고 명령어를 사용하는게 좋은지가 궁금합니다.

 

실수로 입력해서 데이터 손실이 발생하는 것을 막기 위해서일까요?

node.js express nestjs typeorm

답변 1

0

제로초(조현영)

typeorm 0.3부터는 datasource 위치를 명시적으로 입력해야 합니다. 제가 빠뜨린 것 같네요

0

jeongho218

네 답변 감사합니다!

강의자료는 어디서 다운받나요?

0

110

3

질문 있습니다.

0

294

3

(강의 5:42 질문) providers를 통한 여러 개의 인스턴스 생성 & exports 통한 싱글톤 생성

0

154

2

코드 편집기 확장 프로그램

0

209

2

(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?

0

143

2

(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문

0

166

3

로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.

0

152

2

로그인방법이 고민됩니다.

0

190

2

yarn seed 명령어 실행 시 데이터 삽입 안됨

0

296

4

yarn run db:create 시에 발생하는 데코레이터 오류

0

242

2

npm run db:create 시에 발생하는 decorating 오류

0

231

2

RxJS 디버깅 질문 있습니다.

0

187

3

CacheManager에 대해 질문 있습니다.

0

173

2

로깅은 어떻게 하는게 효율적일까요?

0

224

1

CORS 질문 있습니다.

0

417

2

쿠키 옵션에 대해서 질문 있습니다.

0

184

2

로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??

0

447

1

401 unauthorized문제

0

286

1

가드의 장점에 대해서 질문이 있습니다.

0

225

1

로그 관리에 대해 질문 있습니다.

0

252

2

CORS 에러 질문 있습니다.

0

318

2

배포 환경 DB 연결 질문 있습니다.

0

411

2

socket io 미 연결 문제 (nest & flutter)

1

1154

3

no elements in sequence 에러 관해서 질문이 있습니다.

0

454

1