ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 23-08-09 TIL
    일차 TIL 2023. 8. 10. 00:10

    문제

    Executing (default): SELECT `UserId`, `email`, `name`, `createdAt`, `updatedAt` FROM `Users` AS `Users` WHERE `Users`.`email` = 'jugu123@naver.com' AND `Users`.`password` = '329ace93076d91a020d2ca5b72b0d712574f3c4cbba9c4f164ff6c906145b9e373d1f8095f8008e07e87cb8262fcba4eadf2323f73ea6ee5ea52a134e30ded24' LIMIT 1; Session { cookie: { path: '/', _expires: 2023-08-09T03:24:46.196Z, originalMaxAge: 3600000, httpOnly: true } } Executing (default): SELECT `UserId`, `email`, `name`, `password`, `createdAt`, `updatedAt` FROM `Users` AS `Users` WHERE `Users`.`email` = 'jugu123@naver.com' LIMIT 1; Executing (default): INSERT INTO `Boards` (`BoardId`,`title`,`content`,`color`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?,?,?,?); Executing (default): INSERT INTO `BoardInfos` (`BoardInfoId`,`userId`,`boardId`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?,?,?); Error at Query.run (C:\Users\Admin\Desktop\Fchicken\node_modules\sequelize\lib\dialects\mysql\query.js:52:25) at C:\Users\Admin\Desktop\Fchicken\node_modules\sequelize\lib\sequelize.js:315:28 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async MySQLQueryInterface.insert (C:\Users\Admin\Desktop\Fchicken\node_modules\sequelize\lib\dialects\abstract\query-interface.js:308:21) at async BoardInfo.save (C:\Users\Admin\Desktop\Fchicken\node_modules\sequelize\lib\model.js:2490:35) at async BoardInfo.create (C:\Users\Admin\Desktop\Fchicken\node_modules\sequelize\lib\model.js:1362:12) at async BoardRepository.create (C:\Users\Admin\Desktop\Fchicken\repositories\board.repository.js:9:16) at async BoardService.createBoard (C:\Users\Admin\Desktop\Fchicken\services\board.service.js:11:9) at async createBoard (C:\Users\Admin\Desktop\Fchicken\controllers\board.controller.js:12:38) { name: 'SequelizeDatabaseError', parent: Error: Table 'FF.BoardInfos' doesn't exist at Packet.asError (C:\Users\Admin\Desktop\Fchicken\node_modules\mysql2\lib\packets\packet.js:728:17) at Prepare.execute (C:\Users\Admin\Desktop\Fchicken\node_modules\mysql2\lib\commands\command.js:29:26) at Connection.handlePacket (C:\Users\Admin\Desktop\Fchicken\node_modules\mysql2\lib\connection.js:478:34) at PacketParser.onPacket (C:\Users\Admin\Desktop\Fchicken\node_modules\mysql2\lib\connection.js:97:12) at PacketParser.executeStart (C:\Users\Admin\Desktop\Fchicken\node_modules\mysql2\lib\packet_parser.js:75:16) at Socket.<anonymous> (C:\Users\Admin\Desktop\Fchicken\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 Readable.push (node:internal/streams/readable:234:10) { code: 'ER_NO_SUCH_TABLE', errno: 1146, sqlState: '42S02', sqlMessage: "Table 'FF.BoardInfos' doesn't exist", sql: 'INSERT INTO `BoardInfos` (`BoardInfoId`,`userId`,`boardId`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?,?,?);', parameters: [ 1, 2, '2023-08-09 02:24:48', '2023-08-09 02:24:48' ] }, original: Error: Table 'FF.BoardInfos' doesn't exist at Packet.asError (C:\Users\Admin\Desktop\Fchicken\node_modules\mysql2\lib\packets\packet.js:728:17) at Prepare.execute (C:\Users\Admin\Desktop\Fchicken\node_modules\mysql2\lib\commands\command.js:29:26) at Connection.handlePacket (C:\Users\Admin\Desktop\Fchicken\node_modules\mysql2\lib\connection.js:478:34) at PacketParser.onPacket (C:\Users\Admin\Desktop\Fchicken\node_modules\mysql2\lib\connection.js:97:12) at PacketParser.executeStart (C:\Users\Admin\Desktop\Fchicken\node_modules\mysql2\lib\packet_parser.js:75:16) at Socket.<anonymous> (C:\Users\Admin\Desktop\Fchicken\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 Readable.push (node:internal/streams/readable:234:10) { code: 'ER_NO_SUCH_TABLE', errno: 1146, sqlState: '42S02', sqlMessage: "Table 'FF.BoardInfos' doesn't exist", sql: 'INSERT INTO `BoardInfos` (`BoardInfoId`,`userId`,`boardId`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?,?,?);', parameters: [ 1, 2, '2023-08-09 02:24:48', '2023-08-09 02:24:48' ] }, sql: 'INSERT INTO `BoardInfos` (`BoardInfoId`,`userId`,`boardId`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?,?,?);', parameters: [ 1, 2, '2023-08-09 02:24:48', '2023-08-09 02:24:48' ] }

     

    작업중 이러한 코드가 발생했다.

    BoardInfos 테이블이 없다는 뜻인것 같았는데

     

    나는 BoardInfo테이블 생성을 단수형으로 했지만, 복수형인 BoardInfos이 없다는 오류가 떴다.

     

    고민

    다른 로직에서 BoardInfos 복수형으로 사용하여 잘못 인식 되었나 오타를 찾아 보았다.그렇지만 모두 단수형으로 사용을 했지만, 오류는 계속 복수형을 찾으려고 했다.

     

    구글링을 하여 찾아보니 테이블은 여러 데이터가 들어가기에 복수형이 맞으며 생성할때 보통 복수형으로 생성하는 것이 옳다고 한다.

     

    db 로직이 그렇게 흐르는 것인지 단수로 생성을 해도 복수로 찾는 것이 좀 놀라웠다.

     

    사실 지금까진 무의식 중에 복수형으로 사용을 했기에 단수형으로 사용하면 문제가 생긴다는 것을 몰랐다.

     

    이제부터는 복수형으로 생성을 해준다면 이러한 기초적인 문제는 일어나지 않게될 것이다.

     

Designed by Tistory.