Sails.js中的数据库模式

时间:2018-03-15 10:57:47

标签: javascript node.js sails.js

如何直接从Sails.js中的模型添加nulldefault或其他数据库属性等属性。我也尝试添加外键,但它甚至不会影响我的表的结构。

module.exports = {
  tableName: 'users',
  attributes: {
    name: {
      type: 'string',
      required: true,
      null: true
    },
    email: {
      type: 'string',
      required: true,
      unique: true
    },
    password: {
      type: 'string',
      required: true
    },
    point: {
      type: 'integer',
      defaultsTo: 0
    }
  }
};

1 个答案:

答案 0 :(得分:0)

我认为你在这里错过了ORM的观点。问题是,sails.js并不“知道”您正在使用的数据库类型。它是一个关系型的,如mySQL,还是MongoDB,或者Redis。因此,例如,默认值由sails在创建记录时设置(如果未提供该属性的值),而不是由某些SQL语句设置,因为DB可能不是基于SQL的。所以Waterline有一些限制,这是帆的默认ORM。如果要以不同方式使用风帆,可以替换Waterline或使用直接数据库适配器。但是你怎么能这样做超出了这个问题的范围。