작성
·
448
0
안녕하세요 bcrypt 수강중에서 계속 에러가 떠서 stackoverflow를 봐도 해결이 안되어 질문을 남깁니다.
SequelizeDatabaseError: Data too long for column 'password' at row 1
at Query.formatError (/Users/harry/Documents/workspace/wizetoPrototype/backend/node_modules/sequelize/lib/dialects/mysql/query.js:239:16)
at Query.run (/Users/harry/Documents/workspace/wizetoPrototype/backend/node_modules/sequelize/lib/dialects/mysql/query.js:54:18)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
강의한 것과 같이 아래처럼 코딩을 하였는데 잘 안되어 user모델에서 password type을 text, char, string(200) 이상을 해보아도 동일하게 에러가 납니다
해결할 수 있는 방법이 있으면 감사하겠습니다.
추가적으로 hash 를 콘솔로 찍어서 얼마나 긴지 보고 싶었었는데 코맨드창에서는 로그가 안찍히네요. 어디서 확인을 할수 있는지도 알려주시면 감사하겠습니다.
답변 부탁드릴게요
app.js
user.js
답변 12
1
widget.js에서 router.post('/') 빼보세요
그래도 안 된다면 브라우저 개발자도구 네트워크 탭에서 요청을 눌러서 어떤 정보가 나오고 있는지 보여주세요.
0
0
0
위에 router 내용을 빼니까 나오네요. 감사합니다~~~~ 좋아요 누를게요~~~
아 제가 지금 제 개인 프로젝트를 진행하는데 내년 3월달쯤에 완성될 예정입니다. 코드 리뷰 비용은 어떻게 되는지 궁금한데 알려주실수 있나요?
0
0
0
store에서 axios로 요쳥하고 있습니다. 좀 길지만 관련 내용 다 첨부하였습니다. 확인 부탁드릴게요 :) 감사합니다.
store/widget.js
app.js
routes/widget.js
models/mainFormContent.js
0
0
터미널 내용은 뜨는데 다 DATABASE에 관련된 내용만 뜨고
req 안에 있는 내용을 보고 싶은데 뜨질 않네요.~
TERMINAL --------------------------------------------------------------------------------
[nodemon] restarting due to changes...
[nodemon] starting `node app,js app.js`
YES backend server is 3070
Executing (default): DROP TABLE IF EXISTS `MainFormContents`;
Executing (default): DROP TABLE IF EXISTS `Images`;
Executing (default): DROP TABLE IF EXISTS `Users`;
Executing (default): DROP TABLE IF EXISTS `Users`;
Executing (default): CREATE TABLE IF NOT EXISTS `Users` (`id` INTEGER NOT NULL auto_increment , `email` VARCHAR(40) NOT NULL UNIQUE, `username` VARCHAR(30) NOT NULL, `password` VARCHAR(100) NOT NULL, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;
Executing (default): SHOW INDEX FROM `Users` FROM `wizeto`
Executing (default): DROP TABLE IF EXISTS `Images`;
Executing (default): CREATE TABLE IF NOT EXISTS `Images` (`id` INTEGER NOT NULL auto_increment , `MainFormImage` VARCHAR(200) NOT NULL, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;
Executing (default): SHOW INDEX FROM `Images` FROM `wizeto`
Executing (default): DROP TABLE IF EXISTS `MainFormContents`;
Executing (default): CREATE TABLE IF NOT EXISTS `MainFormContents` (`id` INTEGER NOT NULL auto_increment , `logo` VARCHAR(30), `title` VARCHAR(100), `subtitle` TEXT, `buttonName` VARCHAR(30), `description` TEXT, `addOn` TINYINT(1), `tags` VARCHAR(100), `textAlign` TINYINT(1), `bgArray` VARCHAR(100), `fontArray` VARCHAR(30), `buttonArray` VARCHAR(30), `sliderFont` VARCHAR(10), `sliderPadding` VARCHAR(10), `sliderOpacity` VARCHAR(10), `sliderLineHeight` VARCHAR(10), `backgroundImage` VARCHAR(50), `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
Executing (default): SHOW INDEX FROM `MainFormContents` FROM `wizeto`
0
0
감사합니다~~. 워크벤치에서 바꾸니까 바로 해결이 되네요~~. 아 그리고 express 의 app.js 에서 console.log를 찍어서 디버깅을 해보고 싶은데 morgan 을 설치해도 관련 콘솔내용은 보이지 않더라구요.
예를 들어 아래 처럼 req 에 무슨 내용이 들어왔는지 확인해보고 싶었는데 터미널에서도 보이지 않아서 어떻게 하면 볼수 있을까요?
0
password 길이를 100으로 늘리셨는데 user.js만 바꾼다고 실제 DB가 바뀌진 않습니다. 시퀄라이즈는 초기 생성만 해주고 수정은 해주지 않습니다.
sequelize.sync({ alter: true })로 잠깐 바꿔서 재실행한 후 원래대로 돌려놓으세요. 혹시 에러가 뜬다면 직접 워크벤치나 MySQL 프롬프트 들어가서 바꾸세요.