- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 Sequelize 的 node.js 应用程序。我目前的目标是 SQLite 以便于开发设置和测试,但将转移到 MySQL 进行生产。我使用 sequelize-cli 创建模型和迁移并且所有工作都没有任何问题,我已经确认这些表是使用 SQLite 浏览器工具创建的。我现在遇到的问题是在运行下面的种子文件时(数据库当前为空),我收到以下错误。
错误:
Unhandled rejection SequelizeUniqueConstraintError: Validation error
at Query.formatError (/Users/abc/repos/myProject/node_modules/sequelize/lib/dialects/sqlite/query.js:231:14)
at Statement.<anonymous> (/Users/abc/repos/myProject/node_modules/sequelize/lib/dialects/sqlite/query.js:47:29)
at Statement.replacement (/Users/abc/repos/myProject/node_modules/sqlite3/lib/trace.js:20:31)
'use strict';
module.exports = {
up: function(queryInterface, Sequelize) {
return queryInterface.createTable('Questions', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
type: {
allowNull: false,
type: Sequelize.INTEGER
},
text: {
allowNull: false,
type: Sequelize.STRING
},
nextQuestionId: {
type: Sequelize.INTEGER
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
});
},
down: function(queryInterface, Sequelize) {
return queryInterface.dropTable('Questions');
}
};
'use strict';
module.exports = function(sequelize, DataTypes) {
var Question = sequelize.define('Question', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: DataTypes.INTEGER
},
type: {
allowNull: false,
type: DataTypes.INTEGER
},
text: {
allowNull: false,
type: DataTypes.STRING
},
nextQuestionId: {
type: DataTypes.INTEGER
}
}, {
classMethods: {
associate: function(models) {
Question.belongsTo(Question, {as: 'nextQuestion', foreignKey: 'nextQuestionId'});
Question.hasMany(models.Answer);
Question.hasMany(models.questionoption, {as: 'options'});
}
}
});
return Question;
};
'use strict';
module.exports = {
up: function (queryInterface, Sequelize) {
return queryInterface.bulkInsert('Questions', [
{type: 0, text: 'Question A'},
{type: 5, text: 'Question B', nextQuestionId: 4},
{type: 5, text: 'Question C', nextQuestionId: 4},
{type: 0, text: 'Question D'},
{type: 0, text: 'Question E'},
{type: 0, text: 'Question F'},
{type: 0, text: 'Question G'},
{type: 0, text: 'Question H'},
{type: 0, text: 'Question I'}
], {});
} ...
最佳答案
该错误似乎极具误导性。我不确定该解决方案是否正确,但将 createdAt 和 updatedAt 属性添加到对象允许它们成功播种。我的假设是这些将由 ORM 自动处理。工作的种子看起来像这样(没有改变任何模型或迁移)。
'use strict';
module.exports = {
up: function (queryInterface, Sequelize) {
return queryInterface.bulkInsert('Questions', [
{type: 0, text: 'Question A', createdAt: new Date(), updatedAt: new Date()},
{type: 5, text: 'Question B', nextQuestionId: 4, createdAt: new Date(), updatedAt: new Date()},
{type: 5, text: 'Question C', nextQuestionId: 4, createdAt: new Date(), updatedAt: new Date()},
{type: 0, text: 'Question D', createdAt: new Date(), updatedAt: new Date()},
{type: 0, text: 'Question E', createdAt: new Date(), updatedAt: new Date()},
{type: 0, text: 'Question F', createdAt: new Date(), updatedAt: new Date()},
{type: 0, text: 'Question G', createdAt: new Date(), updatedAt: new Date()},
{type: 0, text: 'Question H', createdAt: new Date(), updatedAt: new Date()},
{type: 0, text: 'Question I', createdAt: new Date(), updatedAt: new Date()}
], {});
}, ...
关于sequelize.js - 种子期间的 SequelizeUniqueConstraintError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33745804/
我有一个使用 Sequelize 的 node.js 应用程序。我目前的目标是 SQLite 以便于开发设置和测试,但将转移到 MySQL 进行生产。我使用 sequelize-cli 创建模型和迁移
我收到这个错误: Unhandled rejection SequelizeUniqueConstraintError: Validation error 我该如何解决这个问题? 这是我的模型/use
我对 promises 和 Sequelize 有点陌生。我正在尝试使用约束将新用户插入到我的 SQLite 数据库中。在 User -model 中,我已将 email -property 标记为
我正在使用 Sequelize 创建后端。对于最佳实践,如果用户尝试创建重复的资源,我想返回 Location header 。检查我的代码: try { const resource = a
使用 documentation 中的示例,一切仅在第一次插入时运行良好。在第二次及以后,出现错误。 const Product = this.sequelize.define('Product',
我是一名优秀的程序员,十分优秀!