|
|
|
@ -1,22 +1,50 @@
|
|
|
|
|
// 导出一个函数,这个函数接受数据库对象db和一个回调函数callback作为参数
|
|
|
|
|
module.exports = function(db,callback){
|
|
|
|
|
// 用户模型
|
|
|
|
|
// 使用db.define方法定义一个模型,模型名为AttributeModel
|
|
|
|
|
db.define("AttributeModel",{
|
|
|
|
|
// 定义模型的属性
|
|
|
|
|
attr_id : {type: 'serial', key: true}, // 自增主键
|
|
|
|
|
attr_name : String, // 属性名称,类型为字符串
|
|
|
|
|
cat_id : Number, // 分类ID,类型为数字
|
|
|
|
|
attr_sel : ["only", "many"], // 属性选择类型,可以是"only"或"many"
|
|
|
|
|
// "only":输入框(唯一) "many":后台下拉列表/前台单选框
|
|
|
|
|
attr_write: ["manual","list"], // 属性写入方式,可以是"manual"或"list"
|
|
|
|
|
// "manual":手工录入 "list":从列表选择
|
|
|
|
|
attr_vals: String, // 属性值,类型为字符串
|
|
|
|
|
delete_time : Number // 删除时间,类型为数字
|
|
|
|
|
},{
|
|
|
|
|
// 定义模型的选项
|
|
|
|
|
table : "sp_attribute" // 指定模型对应的数据库表名为sp_attribute
|
|
|
|
|
/// 导出一个函数,这个函数是模块的主要接口,它接受两个参数:
|
|
|
|
|
// 第一个参数是数据库对象db,它提供了与数据库进行交互的能力;
|
|
|
|
|
// 第二个参数是一个回调函数callback,它将在模型定义成功后被调用。
|
|
|
|
|
module.exports = function(db, callback) {
|
|
|
|
|
// 开始使用db.define方法定义一个名为"AttributeModel"的模型。
|
|
|
|
|
// 这个模型用于表示商品或产品的属性。
|
|
|
|
|
db.define("AttributeModel", {
|
|
|
|
|
// 以下是该模型属性的定义部分:
|
|
|
|
|
|
|
|
|
|
// attr_id属性:作为主键,其类型为'serial',表示这是一个自增的序列号。
|
|
|
|
|
// key: true表明这个属性是主键,用于唯一标识每条记录。
|
|
|
|
|
attr_id: {type: 'serial', key: true},
|
|
|
|
|
|
|
|
|
|
// attr_name属性:表示属性的名称,其类型为字符串(String)。
|
|
|
|
|
// 用于存储属性的描述性名称。
|
|
|
|
|
attr_name: String,
|
|
|
|
|
|
|
|
|
|
// cat_id属性:表示分类ID,其类型为数字(Number)。
|
|
|
|
|
// 这个属性用于将属性与特定的商品分类关联起来。
|
|
|
|
|
cat_id: Number,
|
|
|
|
|
|
|
|
|
|
// attr_sel属性:表示属性的选择类型,其值为一个数组,包含"only"和"many"。
|
|
|
|
|
// "only"表示该属性为唯一选择(如输入框),"many"表示该属性可以从多个选项中选择(如下拉列表或单选框)。
|
|
|
|
|
attr_sel: ["only", "many"],
|
|
|
|
|
|
|
|
|
|
// attr_write属性:表示属性的写入方式,其值为一个数组,包含"manual"和"list"。
|
|
|
|
|
// "manual"表示属性值需要手工录入,"list"表示属性值应从预定义的列表中选择。
|
|
|
|
|
attr_write: ["manual", "list"],
|
|
|
|
|
|
|
|
|
|
// attr_vals属性:表示属性的值,其类型为字符串(String)。
|
|
|
|
|
// 存储属性的实际值,可能是一个逗号分隔的字符串(对于"many"类型的属性)。
|
|
|
|
|
attr_vals: String,
|
|
|
|
|
|
|
|
|
|
// delete_time属性:表示删除时间,其类型为数字(Number)。
|
|
|
|
|
// 用于逻辑删除,即不真正从数据库中删除记录,而是通过设置一个删除时间来标记记录已删除。
|
|
|
|
|
delete_time: Number
|
|
|
|
|
}, {
|
|
|
|
|
// 以下是该模型的选项或配置的定义部分:
|
|
|
|
|
|
|
|
|
|
// table选项:指定这个模型在数据库中对应的表名。
|
|
|
|
|
// 在这个例子中,表名被指定为"sp_attribute",这是数据库中存储属性信息的表的名称。
|
|
|
|
|
table: "sp_attribute"
|
|
|
|
|
});
|
|
|
|
|
// 调用回调函数,传入无参数
|
|
|
|
|
|
|
|
|
|
// 模型定义完成。现在,我们调用之前传入的回调函数callback。
|
|
|
|
|
// 由于模型定义操作通常不会返回任何结果(除非出现错误),因此这里我们传入一个空参数。
|
|
|
|
|
// 回调函数可以在此处执行一些后续的逻辑处理,如初始化数据、启动服务等。
|
|
|
|
|
// 但在这个例子中,回调函数可能只是被用来简单地表示模型定义过程的结束。
|
|
|
|
|
return callback();
|
|
|
|
|
}
|