pgAdmin4、PostgreSql、Sequelize无法修改Enum的Type问题
pgAdmin4的Table里只能Columne只能看到Enum的字段,但是无法修改Type。删掉重新建字段也不行。
重点:不在Table里,在Table下面有个Types,好大的坑。
pgAdmin4、PostgreSql、Sequelize无法修改Enum的Type问题
pgAdmin4的Table里只能Columne只能看到Enum的字段,但是无法修改Type。删掉重新建字段也不行。
重点:不在Table里,在Table下面有个Types,好大的坑。
include下条件查询并且允许为空
添加required: false即可。
const where = {
[Op.and]: [
s && {
[Op.or]: {
name: {
[Op.substring]: s
},
mobile: {
[Op.substring]: s
}
}
},
]
};
include: {
...(!s && {required: false}),
model: Account,
where,
attributes: ['name', 'mobile'],
},
User里的type字段重命名为type,放到account同级属性下
User的attributes给一个空数组,返回数据格式则不带User的数据。
const account = await Account.findByPk(id, {
attributes: ['id', [Sequelize.col('"User"."type"'), 'type']],
include: {
model: User,
attributes: [],
},
});
重命名modal。
account的modal文件里。
Account.hasOne(models.User, {
as: 'user',
foreignKey: 'id',
sourceKey: 'userId',
});
使用,注意User改成小写user了。
attributes: ['id', 'userId', [Sequelize.col('"user"."type"'), 'type']],
include: {
model: User,
as: 'user',
attributes: [],
},
Sequelize降序排序空值在后面
order: [
['last_access_timed_at', 'DESC NULLS LAST'],
]
Sequelize升序排序空值在前面
order: [
['last_access_timed_at', 'ASC NULLS FIRST'],
]
同理DESC,ASC,FIRST,LAST自由组合。