有一个模型,所有其他模型都假定它的存在。应该在调用任何API函数之前对其进行初始化。
我做这件事的方式(不起作用):
1)在api/ model中定义模型,我们将其称为Location.js
2)在bootstrap.js中添加以下内容
var Locations = require('../api/models/Locations.js');
module.exports.bootstrap = function (cb) {
// seed the database with Locations
var locationsObj = {
country: 'Australia',
states: ['Brisbane', 'Perth', 'Sydney']
};
Location.create(locationsObj, function locationsObj(err, locations) {
if (err) {
cb(err);
}
console.log('locations created: ', locations);
});
}问题1这是做初始数据库种子的正确方法吗?
我知道这个错误:
Locations.create(locationsObj, function locationsObj(err, locations) {
^
TypeError: Object #<bject> has no method 'create'问题2引导的cb函数是如何工作的?如果有一个错误,怎么办?
发布于 2014-09-09 22:00:42
sails模型是全局可用的,因此您不需要在bootstrap.js上使用。
这就是我用来为我的数据库做种子的东西。(请参阅我随函附上的指向专家的链接)
更新
看看这个威胁:将表更改迁移到生产水手表的最佳方法
发布于 2014-04-08 15:53:35
“一旦Sails应用程序被取消,你就会自动获得你的模型.
在您的例子中,您的第一行覆盖了用户模型,而用户模型本来是由Sails.js构建的,这就是为什么即使您有一个对象,它也不是一个水线模型。“
发布于 2015-11-24 02:33:27
我知道这很古老,但为了完整起见:
你设置
var Locations = ...但是你给我打电话
Location.create()(不)所以你只是有一个错误。
https://stackoverflow.com/questions/22941765
复制相似问题