【发布时间】:2021-06-08 18:35:58
【问题描述】:
我一直在尝试将我的用户表的 id(主键)设置为 UUID。但是,当我尝试播种时,我不断收到此错误:字段“id”没有默认值。
这是我目前在用户模型中的内容:
'use strict';
const {
Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class Users extends Model {};
Users.init({
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
allowNull: false,
primaryKey: true
},
user_name: {
type: DataTypes.STRING,
allowNull: false,
validate: {
notNull: {
msg: 'Please add a name',
},
},
},
{
sequelize,
modelName: 'Users',
});
return Users;
同样,这是我的用户迁移文件中的内容:
'use strict';
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.createTable('Admins', {
id: {
type: Sequelize.UUID,
defaultValue: Sequelize.UUIDV4,
allowNull: false,
primaryKey: true
},
user_name: {
type: Sequelize.STRING
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
});
},
down: async (queryInterface, Sequelize) => {
await queryInterface.dropTable('Users');
}
};
我对 Sequelize 还很陌生,所以希望得到一些关于哪里出了问题的指导!
【问题讨论】:
标签: mysql node.js sequelize.js sequelize-cli