由于在Sails1.0中删除了autoPk属性,所以我无法找到具有自定义主键属性的可用解决方案。考虑到这在1.0之前是完全可能的,我认为这是完全不能接受的。
从我损失的几个小时里,我可以推断出以下几点:
要么我必须删除我的自定义主键并用默认的id替换它们,这意味着我必须进入我的代码并用id替换数百个自定义PKs实例,这是我真的不想做的.
否则,我将不必将id属性放在config/model s.js中,并将其复制到没有自定义PK的所有模型中,这是我真正不想做的另一件事.
有什么正常的解决方案吗?我们可以在config/model s.js中定义默认行为,然后在需要的几个模型中简单地覆盖它吗?
发布于 2019-02-26 19:25:40
虽然你是对的,帆v1不再包括一个autoPK选项。它已经用类似的功能取代了这一点。
首先,为了回答您的问题,您可以通过添加a primaryKey选项来编辑模型。
在这种情况下,用户的模型可能如下所示:
...
primaryKey : 'userId',
attributes: {
// Replacement Primary Key
userId: {
type: 'string',
required: true,
unique: true
....如果不是所有的代码更改,您可以通过添加一个columnName来使用任何现有的表id,例如:
...
attributes: {
id: {
type: 'string',
columnName: 'userId',
required: true
},
...有关此问题的更多信息,请参见这里。
https://stackoverflow.com/questions/54884082
复制相似问题