我的/config/bootstrap.js
中有以下代码,用于插入一些用于开发的虚拟数据。
/* global User */
/* global Category */
var insertDummyUsers = function() {
sails.log.info('Inserting dummy users');
var users = [
{ email: 'test@test.com' },
{ email: 'test1@testdomain.gr' },
{ email: 'test2@cnn.com'}
];
return User.create(users);
};
var insertDummyCategories = function() {
sails.log.info('Inserting dummy categories');
var categories = [
{ name: 'Furniture' },
{ name: 'Lighting' },
{ name: 'Computers' },
{ name: 'Networking' },
{ name: 'Telecommunications' },
{ name: 'TV & Audio' }
];
return Category.create(categories);
};
module.exports.bootstrap = function(cb) {
User.count().then(function(err,count){
if (count > 0) {
cb();
} else {
// Insert some dummy users
insertDummyUsers()
.then(insertDummyCategories)
.then(cb);
}
});
};
当我lift
我得到的应用时:
info: Inserting dummy users
info: Inserting dummy categories
error: Bootstrap encountered an error: see(below)
error: [ { name: 'Networking, id: 4, createdAt: ..., updatedAt: ... }]
[... so on]
但是我可以看到数据被保留在数据库中,但应用程序没有被解除。
这里发生了什么?它真的没有任何线索。
修改
migrate:
设置为drop
类别模型定义如下:
module.exports = {
attributes: {
name: {
type: 'string'
},
/* Associations */
subcategories: {
collection: 'Subcategory',
via: 'parentCategory'
}
}
};
答案 0 :(得分:1)
当我编辑你的创建功能时,我觉得这很奇怪。即使回调函数为空,它也能工作。
我需要多看一点,但这可能是一个需要报告的错误。
return Category.create(categories, function(err, returnModel) {
sails.log.debug('This should work!!! -- Error : ' + err + 'model : ' +
returnModel); });