inflearn logo
๊ฐ•์˜

Course

Instructor

Slack Clone Coding [Backend with NestJS + TypeORM]

typeorm seeding, migration

seed ์ƒ์„ฑ ์—๋Ÿฌ

Resolved

781

์ž‘์„ฑ์ž ์—†์Œ

0 asked

0

์•ˆ๋…•ํ•˜์„ธ์š”.

npm run seed:run ์„ํ•˜๋ฉด 

 

๐ŸŒฑ  TypeORM Seeding v1.6.1

โœ– Could not load the config file!

TypeORMError: No connection options were found in any orm configuration files.

 

์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ

์ œ๋กœ์ดˆ๋‹˜ ๊นƒํ—ˆ๋ธŒ๋กœ ์ „๋ถ€ ๋ณต์‚ฌํ•ด๋„ ๋˜‘๊ฐ™์ด ํ•ด๊ฒฐ์ด์•ˆ๋˜๋Š”๋ฐ ์ด์œ ๋ฅผ ํ˜น์‹œ ์•„์‹œ๋‚˜์š”?

๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋ฉด ormconfig.ts๋ฅผ ๋ชป์ฐพ๋Š”๊ฑฐ๊ฐ™์•„์š”.

.env๋„ ์ž…๋ ฅํ–ˆ๊ณ  ํ”„๋ก ํŠธ๋„ ๋“ค์–ด์„œ ๊ฐ•์˜๊ทธ๋Œ€๋กœ ์ž๋™์ƒ์„ฑ ์ง„ํ–‰ํ–ˆ๊ณ , entitiesํด๋”๋„ ๊นƒํ—ˆ๋ธŒ๋กœ ๋ฐ”๊ฟจ์–ด์š”. ๊ทธ๋ฆฌ๊ณ  package.json, ormconfig,create-initial-data ์ด๋Ÿฐ๊ฑฐ ์ „๋ถ€ ๋ณต์‚ฌํ•ด์„œ ๋‹ค์‹œ ํ•ด๋ณด๊ณ  ๊ฒฝ๋กœ๋„ ๋งž์•„์„œ ์˜คํƒ€๋ฌธ์ œ๋Š” ์•„๋‹Œ๊ฑฐ๊ฐ™์€๋ฐ..

 

 forRoot()๋ถ€๋ถ„์— ์˜ต์…˜์„ ์ง์ ‘ ๋„ฃ์–ด๋ณด๊ธฐ๋„ ํ•˜๊ณ 

์—”ํ‹ฐํ‹ฐ๋ถ€๋ถ„์„

entities: ["entities/*.js"] ์ด๊ฑฐ๋„ ํ•ด๋ณด๊ณ 

entities: ["dist/**/**.entity{.ts,.js}"์ด๋ ‡๊ฒŒ ๋ฐ”๊ฟ”๋ณด๊ธฐ๋„

package.json์˜ typeorm๋ถ€๋ถ„์„

"typeorm": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js --config src/ormconfig.ts",

์ด๋ž—๊ฒŒ ๋ฐ”๊ฟ”๋ณด๊ธฐ๋„ ํ–ˆ๋Š”๋ฐ ์—๋Ÿฌ๋Š” ๊ทธ๋Œ€๋กœ ์—ฌ์„œ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋„ค์šฉ

 

express nodejs TypeORM NestJS

Answer 4

0

chaosts9990

๐ŸŒฑ  TypeORM Seeding v1.6.1

โœ– Could not load the config file!

TypeORMError: No connection options were found in any orm configuration files.

์—๋Ÿฌ ์›์ธ 

ormconfig.ts์„ ๋ฐ–์œผ๋กœ ๋นผ์„œ ์„ค์ •ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋„ค์š” 

0

kimssun

Error: Nest can't resolve dependencies of the ShopsService (ShopsRepository, ?). Please make sure that the argument UsersRepository at index [1] is available in the ShopsModule context.

 

Potential solutions:

- If UsersRepository is a provider, is it part of the current ShopsModule?

- If UsersRepository is exported from a separate @Module, is that module imported within ShopsModule?

  @Module({

    imports: [ /* the Module containing UsersRepository */ ]

  })

 

 

์ œ๋กœ์ดˆ๋‹˜ ์ด๋ถ€๋ถ„์ด ์™œ ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š”๊ฒƒ์ผ๊นŒ์š”..? ๊ฐ•์˜๋“ค์œผ๋ฉด์„œ ๊ถ๊ธˆํ–ˆ์Šต๋‹ˆ๋‹ค..

 

import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Shops } from 'src/entities/shops.entity';
import { ShopsController } from './shops.controller';
import { ShopsService } from './shops.service';

@Module({
imports: [TypeOrmModule.forFeature([Shops])],
controllers: [ShopsController],
providers: [ShopsService],
})
export class ShopsModule {}

0

kimssun

์ œ๋กœ์ดˆ๋‹˜ ํ˜น์‹œ npm i typeorm-seeding ํ˜„์žฌ ์ด ๋ช…๋ น์–ด๊ฐ€ ๋จนํžˆ์งˆ ์•Š์•„์„œ ๊ทธ๋Ÿฌ๋Š”๋ฐ ๋ฒ„์ „์ด ์—…๋ฐ์ดํŠธ๋œ๊ฒƒ์ผ๊นŒ์š” ?

0

zerocho

์–ด๋–ค ์—๋Ÿฌ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ์‹œ๋‚˜์š”?

0

kimssun

npm err! ํ•˜๋ฉด์„œ ์—๋Ÿฌ๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ ์ œ๊ฐ€ ์ž์„ธํ•˜๊ฒŒ ์บก์ณํ•ด์„œ ๋“œ๋ฆด๊ฒŒ์š” ใ… ใ… 

0

kimssun

์ œ๋กœ์ดˆ๋‹˜ ๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜๋งŒ ๋” ์—ฌ์ญค๋ด๋„๋ ๊นŒ์š” ? 

//์œ ์ € ์ƒ์„ธ์ •๋ณด ์กฐํšŒ
async getUser(email: string) {
const getUser = await this.usersRepository
.createQueryBuilder()
.select(['tbl_user.email', 'tbl_user.user_name', 'tbl_user.gender'])
.from(Users, 'tbl_user')
.where('tbl_user.email = :email', { email })
.getOne();
if (!getUser) {
throw new BadRequestException('์กด์žฌํ•˜์ง€ ์•Š๋Š” ์œ ์ €์ž…๋‹ˆ๋‹ค.');
}
return getUser;
} ์„œ๋น„์Šค์ชฝ ๋กœ์ง์ž…๋‹ˆ๋‹ค..
 
 
 
//์ปจํŠธ๋กค๋Ÿฌ
@ApiOperation({ summary: '๋‚ด ์ •๋ณด ์กฐํšŒ' })
@Get(':id')
async getUsers(@Param('email') email: string) {
return await this.usersService.getUser(email);
}
ํ–ˆ๋Š”๋ฐ ์™œ ํ•ด๋‹น์ฟผ๋ฆฌ where์ ˆ์—์„œ ?๊ฐ’์œผ๋กœ Undefined๊ฐ€ ์ฐํžˆ๋Š”์ง€ ์ดํ•ด๊ฐ€ ์•ˆ๋ผ๋„ค์š”.. ใ…‹ใ…‹ใ…‹ ๊ฐ•์˜๋ณด๋ฉด์„œ ํ˜ผ์ž ๋”ฐ๋กœ ๋งŒ๋“ค์–ด๋ณด๊ณ ์žˆ๋Š”๋ฐ

0

zerocho

email์ด undefined์ธ ๊ฒƒ ์•„๋‹Œ๊ฐ€์š”?

@Get(':id')์ธ๋ฐ @Param('email') ์ด๋„ค์š”.

0

kimssun

๋„ค ๋งž์Šต๋‹ˆ๋‹ค ใ… ใ…  ์ „ email๋กœ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ๊ฑฐ๋“ ์š”.. 

0

zerocho

@Get(':email') ํ•˜์…”์•ผ์ฃ 

0

kimssun

๊ทธ๋Ÿฐ๋ฐ service์ชฝ์— ์ด๋ ‡๊ฒŒ ๋„ฃ์–ด์ฃผ๋ฉด .where('tbl_user.email = :email', { email: 'dfadsfa@dafassaf.com'})

0

kimssun

.where('tbl_user.email = :email', { email: 'dfadsfa@dafassaf.com'}) ์ด๋ ‡๊ฒŒ ๋„ฃ์–ด์ฃผ๋ฉด ๋™์ž‘์€ํ•˜๋„ค์š”

0

zerocho

--config ๋ถ€๋ถ„์„ typeorm ๋ช…๋ น์–ด ๋ง๊ณ  seed:run์— ์ถ”๊ฐ€ํ•ด๋ณด์„ธ์š”.

๊ทธ๋ฆฌ๊ณ  .env์— ๋‹ค์Œ๊ฒƒ ๋ง๊ณ ๋„ db ์—ฐ๊ฒฐ ์ •๋ณด๋„ ๋“ค์–ด์žˆ์œผ์‹ ๊ฐ€์š”?

TYPEORM_SEEDING_FACTORIES=src/factories/**/*{.ts,.js}
TYPEORM_SEEDING_SEEDS=src/seeds/**/*{.ts,.js}

0

zerocho

์Œ.. ์ œ ๊นƒํ—ˆ๋ธŒ๋กœ ํ•ด๋ณด๋‹ˆ ๋ฉ๋‹ˆ๋‹ค. ใ… ใ…  ์ฝ”๋“œ์™€ ๋ฒ„์ „์ด ๊ฐ™์€์ง€ ํ•œ ๋ฒˆ ๋” ํ™•์ธํ•ด์ฃผ์„ธ์š”.

๊ฐ•์˜์ž๋ฃŒ๋Š” ์–ด๋””์„œ ๋‹ค์šด๋ฐ›๋‚˜์š”?

0

143

4

์งˆ๋ฌธ ์žˆ์Šต๋‹ˆ๋‹ค.

0

317

3

์ฝ”๋“œ ํŽธ์ง‘๊ธฐ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ

0

220

2

(์งˆ๋ฌธ)๋น„๋ฐ€ ์ €์žฅ์†Œ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ธ์ฆ ์ •๋ณด๋Š” ๋กœ์ปฌ .env์— ์ €์žฅํ•˜๋Š”์ง€?

0

162

2

(์งˆ๋ฌธ)์™ธ๋ถ€ ์ €์žฅ์†Œ๋ฅผ ํ†ตํ•œ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๋น„๋™๊ธฐ ์งˆ๋ฌธ

0

178

3

๋กœ๊ทธ์ธ์„ ํ•ด๋„ LoggedInGuard์ชฝ์—์„œ false๊ฐ’์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

0

161

2

๋กœ๊ทธ์ธ๋ฐฉ๋ฒ•์ด ๊ณ ๋ฏผ๋ฉ๋‹ˆ๋‹ค.

0

197

2

yarn seed ๋ช…๋ น์–ด ์‹คํ–‰ ์‹œ ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ์•ˆ๋จ

0

305

4

yarn run db:create ์‹œ์— ๋ฐœ์ƒํ•˜๋Š” ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ์˜ค๋ฅ˜

0

248

2

npm run db:create ์‹œ์— ๋ฐœ์ƒํ•˜๋Š” decorating ์˜ค๋ฅ˜

0

245

2

RxJS ๋””๋ฒ„๊น… ์งˆ๋ฌธ ์žˆ์Šต๋‹ˆ๋‹ค.

0

198

3

CacheManager์— ๋Œ€ํ•ด ์งˆ๋ฌธ ์žˆ์Šต๋‹ˆ๋‹ค.

0

184

2

๋กœ๊น…์€ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”๊ฒŒ ํšจ์œจ์ ์ผ๊นŒ์š”?

0

238

1

CORS ์งˆ๋ฌธ ์žˆ์Šต๋‹ˆ๋‹ค.

0

426

2

์ฟ ํ‚ค ์˜ต์…˜์— ๋Œ€ํ•ด์„œ ์งˆ๋ฌธ ์žˆ์Šต๋‹ˆ๋‹ค.

0

190

2

๋กœ๊ทธ์•„์›ƒ ์š”์ฒญ์ด 403 forbidden ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š”๋ฐ ์™œ๊ทธ๋Ÿฐ๊ฑธ๊นŒ์š”??

0

458

1

401 unauthorized๋ฌธ์ œ

0

305

1

๊ฐ€๋“œ์˜ ์žฅ์ ์— ๋Œ€ํ•ด์„œ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

0

232

1

๋กœ๊ทธ ๊ด€๋ฆฌ์— ๋Œ€ํ•ด ์งˆ๋ฌธ ์žˆ์Šต๋‹ˆ๋‹ค.

0

255

2

CORS ์—๋Ÿฌ ์งˆ๋ฌธ ์žˆ์Šต๋‹ˆ๋‹ค.

0

328

2

๋ฐฐํฌ ํ™˜๊ฒฝ DB ์—ฐ๊ฒฐ ์งˆ๋ฌธ ์žˆ์Šต๋‹ˆ๋‹ค.

0

417

2

socket io ๋ฏธ ์—ฐ๊ฒฐ ๋ฌธ์ œ (nest & flutter)

1

1166

3

no elements in sequence ์—๋Ÿฌ ๊ด€ํ•ด์„œ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

0

464

1

start:dev-backup์œผ๋กœ ๋Œ๋ฆฌ๋ฉด ํ•ซ ๋ฆฌ๋กœ๋”ฉ์ด ๋˜์š” ์ •์ƒ์ธ๊ฐ€์š”?

0

324

1