Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sails.js 船帆/水线自动转轮已拆除_Sails.js_Waterline - Fatal编程技术网

Sails.js 船帆/水线自动转轮已拆除

Sails.js 船帆/水线自动转轮已拆除,sails.js,waterline,Sails.js,Waterline,由于在Sails 1.0中,autoPk属性已被删除,因此我无法找到具有自定义主键属性的可用解决方案。考虑到这在1.0之前是完全可能的,我觉得完全不能接受 从我失去的时间里,我可以推断出以下几点: 要么我必须删除我的自定义主键并用默认的id替换它们,这意味着我必须进入我的代码并用id替换各种自定义PKs的数百个实例,我真的不想这么做 或者,我将不必将id属性放在config/models.js中,并将其复制到我没有自定义PK的所有模型中,这是我真正不想做的另一件事 有没有正常的解决方案可以让我们

由于在Sails 1.0中,
autoPk
属性已被删除,因此我无法找到具有自定义主键属性的可用解决方案。考虑到这在1.0之前是完全可能的,我觉得完全不能接受

从我失去的时间里,我可以推断出以下几点:

要么我必须删除我的自定义主键并用默认的
id
替换它们,这意味着我必须进入我的代码并用id替换各种自定义PKs的数百个实例,我真的不想这么做

或者,我将不必将id属性放在config/models.js中,并将其复制到我没有自定义PK的所有模型中,这是我真正不想做的另一件事


有没有正常的解决方案可以让我们在config/models.js中定义一个默认行为,然后在我们需要的一些模型中简单地覆盖它?

虽然您是对的,但Sails v1不再包括一个
autoPK
选项。它已经用类似的功能取代了它

首先,要回答您的问题,您可以通过添加a
primaryKey
选项来编辑模型

在这种情况下,用户的模型可能如下所示:

...
primaryKey : 'userId',

attributes: {
  // Replacement Primary Key
  userId: {
    type: 'string',
    required: true,
    unique: true
    ....
如果不是针对所有代码更改,则可以通过添加
列名
来使用任何现有的表id,例如:

...
attributes: {
  id: {
    type: 'string',
    columnName: 'userId',
    required: true
},
...
有关这方面的详细信息,请参阅