AND `TABLE_NAME` = 'channels' UNION SELECT * FROM `INFORMATION_SCHEMA`.`REFERENTIAL_CONSTRAINTS` WHERE `CONSTRAINT_SCHEMA` = 'sleact' AND `TABLE_NAME` = 'channelchats' UNION SELECT * FROM `INFORMATION_SCHEMA`.`REFERENTIAL_CONSTRAINTS` WHERE `CONSTRAINT_SCHEMA` = 'sleact' AND `TABLE_NAME` = 'users' ) `rc` ON `rc`.`CONSTRAINT_SCHEMA` = `kcu`.`CONSTRAINT_SCHEMA` AND `rc`.`TABLE_NAME` = `kcu`.`TABLE_NAME` AND `rc`.`CONSTRAINT_NAME` = `kcu`.`CONSTRAINT_NAME` query: SELECT VERSION() AS `version` query: SELECT * FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = 'sleact' AND `TABLE_NAME` = 'typeorm_metadata' query: DROP INDEX `UserId` ON `workspacemembers` query failed: DROP INDEX `UserId` ON `workspacemembers` error: Error: Cannot drop index 'UserId': needed in a foreign key constraint query: ROLLBACK [Nest] 81848 - 2023. 09. 20. 오전 12:47:04 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (9)... QueryFailedError: Cannot drop index 'UserId': needed in a foreign key constraint at Query.onResult (/Users/yujinseung/Desktop/Slack/slack_s/src/driver/mysql/MysqlQueryRunner.ts:222:33) at Query.execute (/Users/yujinseung/Desktop/Slack/slack_s/node_modules/mysql2/lib/commands/command.js:36:14) at PoolConnection.handlePacket (/Users/yujinseung/Desktop/Slack/slack_s/node_modules/mysql2/lib/connection.js:478:34) at PacketParser.onPacket (/Users/yujinseung/Desktop/Slack/slack_s/node_modules/mysql2/lib/connection.js:97:12) at PacketParser.executeStart (/Users/yujinseung/Desktop/Slack/slack_s/node_modules/mysql2/lib/packet_parser.js:75:16) at Socket.<anonymous> (/Users/yujinseung/Desktop/Slack/slack_s/node_modules/mysql2/lib/connection.js:104:25) at Socket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Socket.Readable.push (node:internal/streams/readable:234:10) [Nest] 81848 - 2023. 09. 20. 오전 12:47:04 ERROR [ExceptionHandler] Cannot drop index 'UserId': needed in a foreign key constraint QueryFailedError: Cannot drop index 'UserId': needed in a foreign key constraint at Query.onResult (/Users/yujinseung/Desktop/Slack/slack_s/src/driver/mysql/MysqlQueryRunner.ts:222:33) at Query.execute (/Users/yujinseung/Desktop/Slack/slack_s/node_modules/mysql2/lib/commands/command.js:36:14) at PoolConnection.handlePacket (/Users/yujinseung/Desktop/Slack/slack_s/node_modules/mysql2/lib/connection.js:478:34) at PacketParser.onPacket (/Users/yujinseung/Desktop/Slack/slack_s/node_modules/mysql2/lib/connection.js:97:12) at PacketParser.executeStart (/Users/yujinseung/Desktop/Slack/slack_s/node_modules/mysql2/lib/packet_parser.js:75:16) at Socket.<anonymous> (/Users/yujinseung/Desktop/Slack/slack_s/node_modules/mysql2/lib/connection.js:104:25) at Socket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Socket.Readable.push (node:internal/streams/readable:234:10) 이런오류가 뜹니다..! 뭐가 문제인지 모르겠습니당.. https://github.com/jinseung0327/slack_clone 혹시나 해서 깃허브 주소까지 올립니닷..!
Entity를 변경하고 나서 서버 재 시동 시 Connection Error, Table {Table_name} already exist 에러가 발생하고, Entity와 상관없이 소스를 수정해도 여전히 동일한 에러가 발생합니다. 에러를 찾아봤는데도 명확한 해답을 찾지 못해 질문 드립니다. [Nest] 1860 - 2023. 09. 14. 오후 10:13:42 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (5)... QueryFailedError: Table 'tb_user_info' already exists 변경 전 @Column() @Field(() => String) USR_USER_TYPE: boolean 변경 후 @Column() @Field(() => Boolean) USR_USER_TYPE: boolean 현재 Package는 아래와 같고요. "@nestjs/typeorm": "^10.0.0", "typeorm": "^0.3.17" @Entity를 중복 선언하거나 소스가 두개이진 않습니다. (기존에도 똑같은 질문이 있어서 확인했습니다.) 다만 Table명을 다르게 하기 위해 아래처럼 했습니다. @Entity('TB_USER_INFO') @ObjectType() export class UserInfoEntity { ..... 이 에러를 찾아보니... @Entity({ name: 'TB_USER_INFO', schema: 'user_schema'}) 처럼 하라고 하는데.... 우선 제대로 된 해결법이 맞는지 궁금하고요. 만약 맞다면 저기서 얘기하는 schema가 무엇을 말하는지 못찾았습니다. ( 혹시 schema명이 database name이 아닌가 싶네요... 그렇게 했을때 별도로 다른 에러가 발생하진 않았거든요) 그리고 어떤 곳에선 synchronize를 false로 하고 직접 수정하는게 낫다는 사람들도 있더라고요. 조금 이해가 안되긴 하지만..... 해결됐습니다. ============================================================= 이런저런 테스트를 하다가 Stack overflow에서 어떤 사람이 @Entity작성 시 이름을 별도로 지정하지 않고 class명을 그대로 써서 해결됐다고 하길래 저도 그렇게 했더니 해결이 됐습니다. 최초 class명과 table명을 다르게 쓴 이유는 해당 entity클래스가 entity 라는걸 알아보기 쉽게 하려고 class에 entity라는 이름을 붙이고, table명에서는 entity를 쓰지 않았었습니다. 지금도 그렇게 하는 것이 더 편하다 생각하는데... 우선 에러를 해결하기 위해서는 이렇게 밖에 방법이 없네요;;;;; 혹시 테이블 명을 별도로 사용하고 에러가 나게 하지 않을 방법이 있을까요?
안녕하세요? 현 강의에서 user에 new UserInfo() 클래스를 할당하고 동시에 해당 변수에 타입으로 클래스를 할당할 수 있다고 하셨는데 그렇게 되면 본래 UserInfo 상단에 지정된 인자들의 타입을 한번 더 점검해준다는 뜻인가요?? 해당 부분이 이해가 안되서 질문을 남깁니다.
화면처럼 AppModule에 붉은 줄이 떠서 확인을 해보니 'AppModule' 클래스가 'NestModule' 인터페이스를 잘못 구현합니다. 'configure' 속성이 'AppModule' 형식에 없지만 'NestModule' 형식에서 필수입니다.ts(2420) nest-module.interface.d.ts(6, 5): 여기서는 'configure'이(가) 선언됩니다. 라고 뜨는데 어떤식의 해결을 해야할 지 모르겠습니다.
backend/index.js 안녕하세요. 퀴즈06을 푸는 도중에 제가 짠 코드가 맞는지 궁금해서 여쭤봅니다 ㅜㅜ.. 우선 signup.js에서 벡앤드 서버로 axios를 통해서 데이터를 보내고 거기서 폰번호가 맞는지 확인하고 토큰을 coolsms 서비스를 통해서 발송하는 코드를 짰습니다. 그 이후에 인증번호와 토큰을 매칭시키고 맞다면 success를 리턴하게 했구 이메일도 비슷한 과정으로 짰습니다. 너무 어렵게 느껴져서 GPT 도움을 통해 코드를 짰는데 이게 맞는지 의심이 되네요 휴.. 혹시 퀴즈에 대한 정답예시이런건 없나요? 아무래도 독학으로 온라인 부트캠프 과정을 밟다보니 포트폴리오는 혼자 해결하는데 좀 어려운 거 같습니다 맞는지도 잘 모르겠고.. 긴 글이지만 성의있게 봐주시면 정말 감사하겠습니다!
현재 컴퓨터에 업무로 인한 파일들이 많아 용량으로 인해서 파티션을 나누는 용량을 포함해서 아무리 해도 용량 확보가 어려운 상황에.. 본체에 추가적으로 SSD를 추가할 수 없는 상황인데 혹시 현 상황에서 우분투를 외장 SSD에 설치한 뒤에 학습을 진행하여도 문제가 없을까요 ? 혹은 vm웨어를 통한 가상환경에서도 학습에 문제가 없을지 궁금합니다.
Q1. nest.js 같은 라이브러리들을 자유자재로 써야 하나요? Q2. docs를 따로 보면서 사이드 프로젝트를 만들며 공부해야 하나요? 아니면 또 다른 강의를 구매해서 공부해야하나요? 기초적인 지식은 어느정도 감이 잡힌 것 같은데, 세부적인 설정 부분이나 고급 기능들은 어떻게 접근할지 잘 모르겠습니다. 강사님은 어떻게 공부하시나요?
결제 API를 테스트 하던 중 CORS에러를 발견하여 나름대로 수정을 해보려고 했으나.... 헤매고 있어서 질문 드립니다. 우선 에러 메시지가 아래처럼 나왔습니다. (현재 쓰고 있는 에디터가 webstorm이라 혹시나 해서 vscode로 실행했는데요 결국 동일한 에러가 발생했습니다.) 결국 preflight에서 CORS에러가 난건데요. 이를 찾아보니... 프론트/백엔드 모두에서 설정해야 해서 다음과 같이 했습니다. Front --------------------------------------------- 테스트 해보려고 변수를 하드코딩 했습니다. axios.defaults.withCredentials = true; axios.post( 'http://localhost:3000/graphql', // 쿼리 작성 { query: ` mutation { createPointTransaction(impUid: "imp_12345678", amount: 100) { id impUid amount status } } ` }, // headers { headers: { "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhNmQ3NjU5Yy05NzA2LTQ4MDgtOTA0OC02ZjI4YWY4NmNhN2UiLCJpYXQiOjE2OTQwNzI1MjQsImV4cCI6MTY5NDA3NjEyNH0.Uch2B5ewPc6yVsy4LuyOJzAUXEhnypbTxKmtQt6hRBw", } } ) Backend ------------------------------------------------- main.ts import { NestFactory } from '@nestjs/core' import { AppModule } from './app.module' import { ValidationPipe } from '@nestjs/common' import { HttpExceptionFilter } from './commons/filter/http-exception.filter' async function bootstrap() { const app = await NestFactory.create(AppModule) // cors설정 추가 app.enableCors() app.useGlobalPipes(new ValidationPipe()) app.useGlobalFilters(new HttpExceptionFilter()) await app.listen(3000) } bootstrap() 제가 찾은 방법은 여기까지 인데요. 다른 방법을 찾지 못해 질문 드립니다.;;;;