-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
seeder is not a constructor
23.02.13 08:17 작성 조회수 215
0
yarn seed를 통해 더미데이터를 생성하려 했으나 "seeder is not a constructor" 라는 에러에 마주칩니다.
어느 부분이 잘못됫는지 알아보기 위해 에러코드를 살펴봤으나 제 코드 부분이 아닌 typeorm-extension 부분에서 에러가 나는것 같아 해결하기 어렵습니다.
TypeError: seeder is not a constructor
at /Users/jinyoung/Desktop/try-own-version/practice-version/node_modules/typeorm-extension/src/seeder/module.ts:122:19
at Generator.next (<anonymous>)
at fulfilled (/Users/jinyoung/Desktop/try-own-version/practice-version/node_modules/typeorm-extension/dist/seeder/module.js:5:58)
dataSource.ts
import dotenv from 'dotenv';
//dataSource에 entity를 입력해줄때는 절대경로면 못찾아온다. 그래서 상대 경로로 써줘야함
import { User } from './src/users/entities/user.entity';
import { DataSource } from 'typeorm';
const mode = process.env.NODE_ENV || 'development';
dotenv.config({ path: process.cwd() + `/.env.${mode}` });
const dataSource = new DataSource({
type: 'mysql',
host: 'localhost',
port: 3306,
database: process.env.DB_DATABASE,
username: process.env.DB_USERNAME,
password: process.env.DB_PASSWORD,
charset: 'utf8mb4_general_ci',
entities: [User],
migrations: [__dirname + '/src/migrations/*.ts'],
synchronize: true,
logging: true,
});
export default dataSource;
package.json seed부분 설정
"seed": "ts-node ./node_modules/typeorm-extension/dist/cli/index.js seed -d ./dataSource.ts"
database/seeds/create-initial-data.ts
import { User } from '../../users/entities/user.entity';
import { DataSource } from 'typeorm';
import { Seeder, SeederFactoryManager } from 'typeorm-extension';
export class UserSeeder implements Seeder {
async run(
dataSource: DataSource,
factoryManager: SeederFactoryManager,
): Promise<any> {
const userRepository = dataSource.getRepository(User);
await userRepository.save({
email: 'ggg@gmail.com',
firstName: 'sfvs',
lastName: 'wdwdwd',
nickname: 'hihi',
});
}
}
typeorm-extension 버젼
"typeorm-extension": "^2.4.2",
"typeorm": "^0.3.12",
시도해본 내용
1. dataSource 생성시 new DataSource({
... 중략
seed:["create-initial-data.ts 경로"] 추가
})
2. db 삭제후 다시 생성(생성시 테이블 싱크까지 맞춘후 seed 시도)
3. typeorm-extension 버전 문제일까 해서 다운그레이드 시도
4. typeorm 0.3대는 유지하고 0.3.11, 0.3.10등 다른 버전으로 시도
결과 모두 실패
답변을 작성해보세요.
0
답변 1