【发布时间】:2017-03-31 04:48:46
【问题描述】:
当我通过以下方式创建新模型时:
//user.js file
module.exports = function (sequelize, DateTypes) {
return sequelize.define("user", {
email: {
type: DateTypes.STRING,
allowNull: false,
unique: true,
validate: {
isEmail: true
}
},
password: {
type: DateTypes.STRING,
allowNull: false,
validate: {
len: [7, 100]
}
}
});
};
进入我构建新数据库的 db.js 文件:
var Sequelize = require('sequelize');
var env = process.env.NODE_ENV || "development"; // established if you work in production or in development mode
var sequelize;
if (env == "production") {
sequelize = new Sequelize(process.env.DATABASE_URL, {
"dialect": "postgres",
});
} else {
var sequelize = new Sequelize(undefined, undefined, undefined, {
'dialect': 'sqlite',
'storage': __dirname + '/data/dev-todo-api.sqlite' // location where you create a new sqlite database
});
}
var db = {};
db.todo = sequelize.import(__dirname + "/models/todo.js");
db.user = sequelize.import(__dirname + "/models/user.js");
db.sequelize = sequelize; //contain a settings of database
db.Sequelize = Sequelize;
module.exports = db;
我不明白 user.js 如何知道sequelize(我作为参数插入module.exports)是位于另一个文件中的sequelize 包的实例?可能是因为sequelize.import('/user.js') 导入了整个sequelize 包?
【问题讨论】:
-
请检查您的拼写。在第一行你有两个错误。
-
谢谢...我从你的问题中得到了我的解决方案:)
标签: javascript node.js sequelize.js