node.js - 销毁后保持唯一约束
问题描述
我有一个带有唯一用户名的用户表。当我删除用户并重新创建相同的用户时,会出现错误:
Error: SQLITE_CONSTRAINT: UNIQUE constraint failed
似乎用户名的唯一计数在销毁后是持久的。有没有办法在删除后删除这个约束?
我在 sequelize 文档中看到存在钩子,但我不太明白如何应用它
更新
const Sequelize = require('sequelize');
// Connection
const { sequelize } = require('../config/sequelize');
const UserSource = require('./UserSource');
const User = sequelize.define('user', {
user_id: {
type: Sequelize.INTEGER,
autoIncrement: true,
primaryKey: true,
},
username: {
type: Sequelize.STRING(100),
unique: true,
},
name: {
type: Sequelize.STRING(100)
},
place_id: {
type: Sequelize.INTEGER,
allowNull: false,
},
}, {
paranoid: true,
timestamps: false,
});
User.hasMany(UserSource, { foreignKey: 'user_id', sourceKey: 'user_id'});
UserSource.belongsTo(User, { foreignKey: 'user_id', sourceKey: 'user_id'});
module.exports = User;
我也试过paranoid: false
了还是不行
解决方案
推荐阅读
- javascript - 是否可以在开发模式下渲染存储在 laravel 存储中的图像?
- python - python类中的字典
- google-apps-script - 表单提交删除行
- scala - 如何创建一个 Estimator 在已经拟合到初始数据集后训练新样本?
- bash - 在 git bash 提交消息中使用日期
- java - Java虚拟机处理数组
- r - 计算 AIC 和 BIC 的简单指数平滑 ses()
- listview - 如何在点击时更改 ListTile() 的背景颜色?
- ios - 获取喜欢帖子 Swift 和 Firestore 的用户列表
- python - Docker-compose Django Supervisord 配置