module.exports = function (sequelize, Sequelize) {
var User = sequelize.define('user', {
id: { autoIncrement: true, primaryKey: true, type: Sequelize.INTEGER },
firstname: { type: Sequelize.STRING, notEmpty: true },
lastname: { type: Sequelize.STRING, notEmpty: true },
//username: { type: Sequelize.TEXT },
//about: { type: Sequelize.TEXT },
mobileno: { type: Sequelize.STRING },
email: { type: Sequelize.STRING, validate: { isEmail: true } },
password: { type: Sequelize.STRING, allowNull: false },
last_login: { type: Sequelize.DATE },
//status: { type: Sequelize.ENUM('active', 'inactive'), defaultValue: 'active' }
});
return User;
}
Все остальное публикуется нормально, но mobileno публикуется как null в базе данных.
Я попытался установить номер мобильного телефона как allowNull = false, но это выдает ошибку.
Я также пытался изменить строку на текст, но это тоже не помогло...
это ошибка после добавления allowNull=false..






После проверки документация ваш код работает нормально.
// setting allowNull to false will add NOT NULL to the column, which means an error will be
// thrown from the DB when the query is executed if the column is null. If you want to check that a value
// is not null before querying the DB, look at the validations section below.
title: { type: Sequelize.STRING, allowNull: false },
Перед сохранением в БД вам необходимо проверить свою информацию, чтобы убедиться, что mobileno не является null. Получив значение для mobileno, вы можете сохранить его в db.
Ваши проблемы в ваших данных, а не в вашей модели продолжения
Основываясь на вашем вопросе, я думаю, вы отправляете пустое значение для поля mobileno
О параметре AllowNull: когда вы устанавливаете значение false, это означает, что сиквелизация вернет ошибку, если вы не передадите параметр (что происходит в вашем случае)
По умолчанию значение AllowNull равно true
Мое предложение состоит в том, чтобы проверить ваши данные перед запросом на вставку, а также, когда вы запустите команду создания с помощью консоли проверки продолжения, она покажет, что вы вставляете в формат sql
нашел мою проблему ... я не разобрал ее правильно ... почему он отправлял нулевое значение в базу данных ...
Для опубликованного вами примера кода ожидается, что
mobileno=null. Если вы установите его на:allowNull: false, какое сообщение об ошибке появится?