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