-
name: 'SequelizeDatabaseError', parent: Error: Unknown column 'likeId' in 'field list' , No migrations were executed, database schema was already up to date.Error Handling/에러핸들링 2023. 7. 6. 12:01
No migrations were executed, database schema was already up to date.
name: 'SequelizeDatabaseError', parent: Error: Unknown column 'likeId' in 'field list'
이 두가지 에러는 각각 다르지만 해결책은 똑같기에 한번에 정리해서 쓴다.
1. 시퀄라이즈 sequelize에서 테이블을 생성 및 수정했는데 MySQL DB 데이터베이스에 반영이 안 될때.
2. 테이블 내 컬럼명을 바꾸고 서버를 켜서 썬더클라이언트를 했더니 400 Bad Request 나올 때.
테이블이 없는데도 업데이트 이미 되있다고 마이그레이션이 안될 때가 있다.
sequelize는 SequelizeMeta라는 테이블을 만들어서 migration 상태를 저장한다.
undo할 때 여기 저장된 migration 정보를 읽어서 down을 실행시키는 것 같다.
select * from "SequelizeMeta";
하고 있으면
drop table "SequelizeMeta";
SequelizeMeta 테이블에 들어가서, 순서대로
DELETE FROM SequelizeMeta;
SELECT * FROM SequelizeMeta; // 비워짐
npx sequelize db:migrate // 터미널에 씀SELECT * FROM SequelizeMeta; // 생성됨
이렇게 하면 된다.
SequelizeMeta에는 migration 정보를 갖고있어서 이런식으로 해결이 가능하다. 아래는 에러 전문.
Executing (default): SELECT `userId`, `email`, `password`, `nickname`, `age`, `gender`, `profileImage`, `createdAt`, `updatedAt` FROM `Users` AS `Users` WHERE `Users`.`userId` = 3; Executing (default): SELECT `postId`, `UserId`, `title`, `content`, `createdAt`, `updatedAt` FROM `Posts` AS `Posts` WHERE `Posts`.`postId` = '1'; Executing (default): SELECT `likeId`, `postId`, `userId`, `createdAt`, `updatedAt` FROM `PostLikes` AS `PostLikes` WHERE (`PostLikes`.`postId` = 3 AND `PostLikes`.`userId` = 1) LIMIT 1; Error at Query.run (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\sequelize\lib\dialects\mysql\query.js:52:25) at C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\sequelize\lib\sequelize.js:315:28 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async MySQLQueryInterface.select (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\sequelize\lib\dialects\abstract\query-interface.js:407:12) at async PostLikes.findAll (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\sequelize\lib\model.js:1140:21) at async PostLikes.findOne (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\sequelize\lib\model.js:1240:12) at async C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\routes\postlikes.js:18:36 { name: 'SequelizeDatabaseError', parent: Error: Unknown column 'likeId' in 'field list' at Packet.asError (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\packets\packet.js:728:17) at Query.execute (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\commands\command.js:29:26) at Connection.handlePacket (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\connection.js:492:32) at PacketParser.onPacket (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\connection.js:97:12) at PacketParser.executeStart (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\packet_parser.js:75:16) at Socket.<anonymous> (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\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_BAD_FIELD_ERROR', errno: 1054, sqlState: '42S22', sqlMessage: "Unknown column 'likeId' in 'field list'", sql: 'SELECT `likeId`, `postId`, `userId`, `createdAt`, `updatedAt` FROM `PostLikes` AS `PostLikes` WHERE (`PostLikes`.`postId` = 3 AND `PostLikes`.`userId` = 1) LIMIT 1;', parameters: undefined }, original: Error: Unknown column 'likeId' in 'field list' at Packet.asError (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\packets\packet.js:728:17) at Query.execute (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\commands\command.js:29:26) at Connection.handlePacket (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\connection.js:492:32) at PacketParser.onPacket (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\connection.js:97:12) at PacketParser.executeStart (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\packet_parser.js:75:16) at Socket.<anonymous> (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\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_BAD_FIELD_ERROR', errno: 1054, sqlState: '42S22', sqlMessage: "Unknown column 'likeId' in 'field list'", sql: 'SELECT `likeId`, `postId`, `userId`, `createdAt`, `updatedAt` FROM `PostLikes` AS `PostLikes` WHERE (`PostLikes`.`postId` = 3 AND `PostLikes`.`userId` = 1) LIMIT 1;', parameters: undefined }, sql: 'SELECT `likeId`, `postId`, `userId`, `createdAt`, `updatedAt` FROM `PostLikes` AS `PostLikes` WHERE (`PostLikes`.`postId` = 3 AND `PostLikes`.`userId` = 1) LIMIT 1;', parameters: {} } Executing (default): SELECT `userId`, `email`, `password`, `nickname`, `age`, `gender`, `profileImage`, `createdAt`, `updatedAt` FROM `Users` AS `Users` WHERE `Users`.`userId` = 3; Executing (default): SELECT `postId`, `UserId`, `title`, `content`, `createdAt`, `updatedAt` FROM `Posts` AS `Posts` WHERE `Posts`.`postId` = '1'; Executing (default): SELECT `likeId`, `postId`, `userId`, `createdAt`, `updatedAt` FROM `PostLikes` AS `PostLikes` WHERE (`PostLikes`.`postId` = 3 AND `PostLikes`.`userId` = 1) LIMIT 1; Error at Query.run (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\sequelize\lib\dialects\mysql\query.js:52:25) at C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\sequelize\lib\sequelize.js:315:28 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async MySQLQueryInterface.select (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\sequelize\lib\dialects\abstract\query-interface.js:407:12) at async PostLikes.findAll (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\sequelize\lib\model.js:1140:21) at async PostLikes.findOne (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\sequelize\lib\model.js:1240:12) at async C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\routes\postlikes.js:18:36 { name: 'SequelizeDatabaseError', parent: Error: Unknown column 'likeId' in 'field list' at Packet.asError (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\packets\packet.js:728:17) at Query.execute (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\commands\command.js:29:26) at Connection.handlePacket (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\connection.js:492:32) at PacketParser.onPacket (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\connection.js:97:12) at PacketParser.executeStart (C:\Users\admin\Desktop\코딩\NODE\4th Week\Sequelize-Relations (Lv.4)\node_modules\mysql2\lib\packet_parser.js:75:16) at Readable.push (node:internal/streams/readable:234:10) { at Readable.push (node:internal/streams/readable:234:10) { code: 'ER_BAD_FIELD_ERROR', errno: 1054, sqlState: '42S22', sqlMessage: "Unknown column 'likeId' in 'field list'", sql: 'SELECT `likeId`, `postId`, `userId`, `createdAt`, `updatedAt` FROM `PostLikes` AS `PostLikes` WHERE (`PostLikes`.`postId` = 3 AND `PostLikes`.`userId` = 1) LIMIT 1;', sql: 'SELECT `likeId`, `postId`, `userId`, `createdAt`, `updatedAt` FROM `PostLikes` AS `PostLikes` WHERE (`PostLikes`.`postId` = 3 AND `PostLikes`.`userId` = 1) LIMIT 1;', parameters: undefined }, sql: 'SELECT `likeId`, `postId`, `userId`, `createdAt`, `updatedAt` FROM `PostLikes` AS `PostLikes` WHERE (`PostLikes`.`postId` = 3 AND `PostLikes`.`userId` = 1) LIMIT 1;', parameters: {} }
'Error Handling > 에러핸들링' 카테고리의 다른 글