-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
dataSource내부 환경변수 인식 불가에 따른 db연결 실패
23.07.26 10:36 작성 23.07.26 10:37 수정 조회수 389
0
dataSource.ts
import { DataSource } from 'typeorm';
import { ChannelChats } from './src/entities/channelChat.entity';
import { ChannelMembers } from './src/entities/channelMembers.entity';
import { Channels } from './src/entities/channel.entity';
import { DMs } from './src/entities/dm.entity';
import { Mentions } from './src/entities/mention.entity';
import { Users } from './src/entities/user.entity';
import { WorkspaceMembers } from './src/entities/workspaceMembers.entity';
import { Workspaces } from './src/entities/workspace.entity';
import { ConfigService } from '@nestjs/config';
const configService = new ConfigService();
const test = configService.get('DB_HOST');
console.log(test)
const dataSource = new DataSource({
type: 'mysql',
host: '127.0.0.1',
port: 3306,
username: configService.get('DB_USER'),
password: configService.get('DB_PASSWORD'),
database: configService.get('DB_NAME'),
entities: [
ChannelChats,
ChannelMembers,
Channels,
DMs,
Mentions,
Users,
WorkspaceMembers,
Workspaces,
],
migrations: [__dirname + '/src/migrations/*.ts'],
synchronize: false,
logging: true,
});
출력 에러 로그
yarn seed
yarn run v1.22.19
warning ../../../../package.json: No license field
$ ts-node ./node_modules/typeorm-extension/dist/cli/index.js seed -d ./dataSource.ts
undefined !!!!!!!!!!!!!!!
Error during Data Source initialization Error: Access denied for user ''@'localhost' (using password: NO)
at Packet.asError (/Users/jinyoung/Desktop/study/nest/nest-project/node_modules/mysql2/lib/packets/packet.js:728:17)
at ClientHandshake.execute (/Users/jinyoung/Desktop/study/nest/nest-project/node_modules/mysql2/lib/commands/command.js:29:26)
at PoolConnection.handlePacket (/Users/jinyoung/Desktop/study/nest/nest-project/node_modules/mysql2/lib/connection.js:478:34)
at PacketParser.onPacket (/Users/jinyoung/Desktop/study/nest/nest-project/node_modules/mysql2/lib/connection.js:97:12)
at PacketParser.executeStart (/Users/jinyoung/Desktop/study/nest/nest-project/node_modules/mysql2/lib/packet_parser.js:75:16)
at Socket.<anonymous> (/Users/jinyoung/Desktop/study/nest/nest-project/node_modules/mysql2/lib/connection.js:104:25)
at Socket.emit (node:events:513:28)
at Socket.emit (node:domain:489:12)
at addChunk (node:internal/streams/readable:324:12)
at readableAddChunk (node:internal/streams/readable:297:9) {
code: 'ER_ACCESS_DENIED_ERROR',
errno: 1045,
sqlState: '28000',
sqlMessage: "Access denied for user ''@'localhost' (using password: NO)",
sql: undefined
}
typeorm-extension seed
.env
NAME=development
DB_HOST=localhost
DB_NAME=nestdb
DB_USER=root
DB_PASSWORD=password!!!
package.json
"db:create": "ts-node ./node_modules/typeorm-extension/dist/cli/index.js db:create -d ./dataSource.ts",
"db:drop": "ts-node ./node_modules/typeorm-extension/dist/cli/index.js db:drop -d ./dataSource.ts",
"seed": "ts-node ./node_modules/typeorm-extension/dist/cli/index.js seed -d ./dataSource.ts",
"schema:drop": "ts-node ./node_modules/typeorm/cli.js schema:drop",
"schema:sync": "ts-node ./node_modules/typeorm/cli.js schema:sync",
"db:migrate": "npm run typeorm migration:run -- -d ./dataSource.ts",
"db:migrate:revert": "npm run typeorm migration:revert -- -d ./dataSource.ts",
"db:create-migration": "npm run typeorm migration:create -- ./src/migrations/",
"db:generate-migration": "npm run typeorm migration:generate -- ./src/migrations -d ./dataSource.ts"
폴더구조
- node_module
- src
- .env
- dataSource.ts
- package.json
출력에러 로그에 보시면 맨위 yarn seed 기준 5번째 줄에 undefined !!!!!! 이런 로그를 확인하실수 있으실텐대 이게 process.env.DB_NAME을 해도 이렇게 나오고 configService.get('DB_NAME')을 해도 undefined로 나오는걸로 확인해본결과 현재 환경변수가 인지가 되지않는 상태라는것을 알아챈 상태까지 왔습니다. 여기서 어떤 부분을 손보면 좋을지 궁금합니다.
답변을 작성해보세요.
답변 1