Sails.js 船帆/水线自动转轮已拆除
由于在Sails 1.0中,Sails.js 船帆/水线自动转轮已拆除,sails.js,waterline,Sails.js,Waterline,由于在Sails 1.0中,autoPk属性已被删除,因此我无法找到具有自定义主键属性的可用解决方案。考虑到这在1.0之前是完全可能的,我觉得完全不能接受 从我失去的时间里,我可以推断出以下几点: 要么我必须删除我的自定义主键并用默认的id替换它们,这意味着我必须进入我的代码并用id替换各种自定义PKs的数百个实例,我真的不想这么做 或者,我将不必将id属性放在config/models.js中,并将其复制到我没有自定义PK的所有模型中,这是我真正不想做的另一件事 有没有正常的解决方案可以让我们
autoPk
属性已被删除,因此我无法找到具有自定义主键属性的可用解决方案。考虑到这在1.0之前是完全可能的,我觉得完全不能接受
从我失去的时间里,我可以推断出以下几点:
要么我必须删除我的自定义主键并用默认的id
替换它们,这意味着我必须进入我的代码并用id替换各种自定义PKs的数百个实例,我真的不想这么做
或者,我将不必将id属性放在config/models.js中,并将其复制到我没有自定义PK的所有模型中,这是我真正不想做的另一件事
有没有正常的解决方案可以让我们在config/models.js中定义一个默认行为,然后在我们需要的一些模型中简单地覆盖它?虽然您是对的,但Sails v1不再包括一个
autoPK
选项。它已经用类似的功能取代了它
首先,要回答您的问题,您可以通过添加aprimaryKey
选项来编辑模型
在这种情况下,用户的模型可能如下所示:
...
primaryKey : 'userId',
attributes: {
// Replacement Primary Key
userId: {
type: 'string',
required: true,
unique: true
....
如果不是针对所有代码更改,则可以通过添加列名
来使用任何现有的表id,例如:
...
attributes: {
id: {
type: 'string',
columnName: 'userId',
required: true
},
...
有关这方面的详细信息,请参阅