• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

user.js 관련 문의

18.11.23 00:51 작성 조회수 124

0

안녕하세요..

user.js 관련 문의 드립니다.

해당 서버를 실행 시키면 다음과 같은 오류가 발생합니다.

PS D:nodejsch06learn-sequelize> npm start

learn-sequelize@0.0.0 start D:nodejsch06learn-sequelize

node ./bin/www

sequelize deprecated String based operators are now deprecated. Please use Symbol based operators for better security, read more at http://docs.sequelizejs.com/manual/tutorial/querying.html#operators node_modulessequelizelibsequelize.js:242:13

Executing (default): CREATE TABLE IF NOT EXISTS users (id INTEGER NOT NULL auto_increment , name VARCHAR(20) NOT NULL UNIQUE, age INTEGER UNSIGNED NOT NULL, married TINYINT(1) NOT NULL, comment TEXT, created_at DATETIME NOT NULL DEFAULT now(), PRIMARY KEY (id)) ENGINE=InnoDB;

**Unhandled rejection SequelizeDatabaseError: Invalid default value for 'createdat'

at Query.formatError (D:nodejsch06learn-sequelizenodemodulessequelizelibdialectsmysqlquery.js:247:16)***

at Query.handler [as onResult] (D:nodejsch06learn-sequelizenode_modulessequelizelibdialectsmysqlquery.js:68:23)

at Query.execute (D:nodejsch06learn-sequelizenode_modulesmysql2libcommandscommand.js:30:14)

at Connection.handlePacket (D:nodejsch06learn-sequelizenode_modulesmysql2libconnection.js:455:32)

at PacketParser.onPacket (D:nodejsch06learn-sequelizenode_modulesmysql2libconnection.js:73:18)

at PacketParser.executeStart (D:nodejsch06learn-sequelizenode_modulesmysql2libpacket_parser.js:75:16)

at Socket. (D:nodejsch06learn-sequelizenode_modulesmysql2libconnection.js:80:31)

at Socket.emit (events.js:182:13)

at addChunk (_stream_readable.js:283:12)

at readableAddChunk (_stream_readable.js:264:11)

at Socket.Readable.push (_stream_readable.js:219:10)

at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)

create_at 컬럼의 defaultValue 설정을 막으면 정상 실행되며, DB에도 정상 반영되는 것을 확인했습니다...  제가 defaultValue 설정에 잘못된점 있는지 확인 부탁드립니다..(책 소스 복사한 것이라 오타는 없을 것으로 판단됩니다 ^^;;)

답변 2

·

답변을 작성해보세요.

0

그리고 mysql 버전이 5.7인지 확인해주세요~. 특정 mysql 버전에서 now()가 되지 않는 버그가 있습니다.

0

https://github.com/ZeroCho/nodejs-book/blob/master/ch7/7.6/learn-sequelize/models/user.js
이렇게 했는데 에러가 나는 것인가요? 이게 DataTypes.NOW로 수정되었습니다.