大家好!我想知道为什么 psql 终端会出现这个奇怪的错误
Hello everyone! I´am wondering why this bizarre error in the psql terminal
这个模型允许我使用 Postman 插入新用户
sequelize.define('users', {
id: {
type: S.INTEGER,
allowNull: false,
autoIncrement: true,
primaryKey: true
},
name: {
type: S.STRING,
allowNull: false,
validate: {
notNull: {
msg: 'Name is mandatory'
},
len: {
args: [2, 30],
msg: 'Name field must to be at least 2 characters long.'
},
isAlpha: true
}
},
lastName: {
type: S.STRING,
allowNull: false,
validate: {
notNull: {
msg: 'Lastname is mandatory.'
},
len: {
args: [2, 50],
msg: 'Lastname field must to be at least 2 characters long.'
},
isAlpha: true,
},
}
})
}
这是我设计的快速路线
另一个奇怪的是 .findOrCreate
函数也不起作用!
我看到自己被迫将系统分为 .findOne
和 .create
功能。
server.post('/', async (req, res)=>{
try {
const { name, lastName } = req.body;
if(!name || !lastName){
res.send('All fields must to be completed')
}
const user = await Users.findOne({
where: {
email: email
}
})
if(user){
return res.send('This user already exists, choose a different one!').status(100);
}
const createUser = await Users.create({
name: name,
lastName: lastName
})
return res.send(createUser)
}
catch (err) {
res.send({ data: err }).status(400);
}
})
情况是 postman 工作正常,但是当我尝试向模型插入数据时 psql 终端抛出以下错误:
insert into users (name, lastName)
values('John', 'Doe', 'jdoe@gmail.com', '12345678', 'wherever');
ERROR: no existe la columna «lastname» en la relación «users»
LÍNEA 1: insert into users (name, lastName)
如果你真的想在你的标识符中使用大写字母让你的生活变得艰难,那么当你在 SQL:
中使用它们时,你必须用双引号将它们括起来
"lastName"
这个模型允许我使用 Postman 插入新用户
sequelize.define('users', {
id: {
type: S.INTEGER,
allowNull: false,
autoIncrement: true,
primaryKey: true
},
name: {
type: S.STRING,
allowNull: false,
validate: {
notNull: {
msg: 'Name is mandatory'
},
len: {
args: [2, 30],
msg: 'Name field must to be at least 2 characters long.'
},
isAlpha: true
}
},
lastName: {
type: S.STRING,
allowNull: false,
validate: {
notNull: {
msg: 'Lastname is mandatory.'
},
len: {
args: [2, 50],
msg: 'Lastname field must to be at least 2 characters long.'
},
isAlpha: true,
},
}
})
}
这是我设计的快速路线
另一个奇怪的是 .findOrCreate
函数也不起作用!
我看到自己被迫将系统分为 .findOne
和 .create
功能。
server.post('/', async (req, res)=>{
try {
const { name, lastName } = req.body;
if(!name || !lastName){
res.send('All fields must to be completed')
}
const user = await Users.findOne({
where: {
email: email
}
})
if(user){
return res.send('This user already exists, choose a different one!').status(100);
}
const createUser = await Users.create({
name: name,
lastName: lastName
})
return res.send(createUser)
}
catch (err) {
res.send({ data: err }).status(400);
}
})
情况是 postman 工作正常,但是当我尝试向模型插入数据时 psql 终端抛出以下错误:
insert into users (name, lastName)
values('John', 'Doe', 'jdoe@gmail.com', '12345678', 'wherever');
ERROR: no existe la columna «lastname» en la relación «users»
LÍNEA 1: insert into users (name, lastName)
如果你真的想在你的标识符中使用大写字母让你的生活变得艰难,那么当你在 SQL:
中使用它们时,你必须用双引号将它们括起来"lastName"