강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

yunhwan19037701 のプロフィール画像
yunhwan19037701

投稿した質問数

VueでNodebird SNSを作成する

4-5. シーケライズモデルと会員登録

안녕하세요 선생님!

作成

·

337

0

response 로그를 찍어보면 email이 잘 들어있는데 notNull Violation: User.email cannot be null 에러가 뜨는 이유가 궁금합니다 선생님!

ssrvuexnodejsawsmysqlvuejs

回答 5

0

라우터 부분 코드도 추가했습니다!

0

const express = require('express');
const db = require('./models');
const cors = require('cors');

const app = express();

db.sequelize.sync();

app.use(express.json());
app.use(cors({
origin: 'http://localhost:3000',
credentials: true,
}));

app.get('/', (req, res) => {
res.send('hello backend')
})

app.post('/user', async (req, res, next) => {
try {
console.log(req.body)
const newUser = await db.User.create({
where: {
email : req.body.email,
password : req.body.password,
nickname : req.body.nickname,
}
});
res.status(201).json(newUser);
} catch (err) {
console.log(err);
next(err);
}
})

app.listen(3085, () => {
console.log('backend server on ${3085} port')
})




0

워크벤치에서도 테이블이 보이지 않습니다!

zerocho님의 프로필 이미지
zerocho
インストラクター

테이블이 안 보이는 것은 워크벤치 커넥션을 잘못 맺으신 것 같기도 하고요. 일단 SCHEMAS 아이콘 오른쪽에 새로고침 아이콘 눌러보세요.

네 선생님

0

안녕하세요 선생님 violation error 는 해결을 했는데요 ㅠ! 

이렇게 body는 잘 들어간 것을 확인했으나 

mysql 에서는 null로 들어가있네요 원인을 알 수 있을까요~? 

스키마 정의하는 부분 코드입니다. 

module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('User', {
email: {
type: DataTypes.STRING(40), // 40자 이내
unique: false, // 중복금지
},
nickname: {
type: DataTypes.STRING(20),
unique: false, // 중복금지
},
password: {
type: DataTypes.STRING(100),
unique: false, // 중복금지
},
}, {
charset: 'utf8',
collate: 'utf8_general_ci', // 한글 저장돼요
});
User.associate = (db) => {
// db.User.hasMany(db.Post);
// db.User.hasMany(db.Comment);
};
return User;
};

0

zerocho님의 프로필 이미지
zerocho
インストラクター

서버 라우터 코드 보여주세요. email 넣을 때 오타 있는 것 같습니다.

yunhwan19037701 のプロフィール画像
yunhwan19037701

投稿した質問数

質問する