sails-postgresql AdapterError:数据库适配器出现意外错误:没有参数$ 1

Mat*_*tko 5 postgresql sails.js waterline sails-postgresql

我对sails很新,我试图在postgresql db中创建一个身份验证模式.

我有一个用户模型

module.exports = {
  attributes: {
    firstName: {
      type: 'string'
    },
    lastName: {
      type: 'string'
    },
    email: {
      type: 'string',
      required: true,
      unique: true
    },
    password: {
      type: 'string',
      required: true
    },
    authTokens: {
      collection: 'authToken',
      via: 'owner'
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

和用户注册/创建控制器

module.exports = {

  create: function (req, res) {
    sails.log.info("Message to be logged");
    User.create(
      {
        email: req.body.email,
        firstName: req.body.firstName,
        lastName: req.body.lastName,
        password: req.body.password
      }
    ).exec(function (err) {
      if (err) {
        return res.status(400).send({err: err});
      } else {
        return res.status(200).send({message: "it is okay"});
      }
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

现在当我使用默认的localDiskDb适配器时,它工作,用户是由create方法创建的.当我将datastores.js中的默认数据源更改为

default: {
    adapter: 'sails-postgresql',
    host: 'mydbserver.rds.amazonaws.com',
    user: 'myDbRoot',
    password: 'pass',
    database: 'myDbName'

  }
Run Code Online (Sandbox Code Playgroud)

我可以看到表是在我的数据库中创建的.但是当我尝试调用create方法时,它返回错误:

AdapterError:数据库适配器出现意外错误:没有参数$ 1

我使用这些版本的帆包:

    "sails": "^1.0.0-30",
    "sails-hook-grunt": "^1.0.4",
    "sails-hook-orm": "^2.0.0-0",
    "sails-hook-sockets": "^1.0.1",
    "sails-postgresql": "1.0.0-1",
Run Code Online (Sandbox Code Playgroud)

有没有人有想法?

Mat*_*tko 3

升级到

"sails-hook-orm": "^2.0.0-17",
"sails-postgresql": "1.0.0-10",
Run Code Online (Sandbox Code Playgroud)

解决了它。