How do I set a custom primary key in my model?

1,656 views
Skip to first unread message

Raven Duran

unread,
Jan 28, 2014, 3:37:05 PM1/28/14
to sai...@googlegroups.com
SailsJS by convention searches and adds "id" as the default primary key for models.
While setting the autopk to false will make that convention change.

My question now is; how do I make a certain property be the primary key?
Thanks! :)

Cody Stoltman

unread,
Jan 28, 2014, 3:44:05 PM1/28/14
to Raven Duran, sai...@googlegroups.com
Try something like this:

attributes: {
  uuid: {
    type: 'string',
    primaryKey: true,
    required: true
  }
}

-- 
Cody Stoltman

Ambroise Dhenain

unread,
Jan 28, 2014, 3:45:13 PM1/28/14
to Cody Stoltman, Raven Duran, sai...@googlegroups.com
There is no doc about this? That should be documented.


2014-01-28 Cody Stoltman <particl...@gmail.com>



--
Cordialement,

M. Ambroise Dhenain.

Raven Duran

unread,
Jan 28, 2014, 3:51:10 PM1/28/14
to sai...@googlegroups.com, Raven Duran
Thanks!

I have looked into the documentation here http://sailsjs.org/#!documentation/models and even here https://github.com/balderdashy/waterline but I could not find it.
Is there any contribution guide for the documentation? At least for a beginner like me could contribute some based on my learning :)

jij...@189.cn

unread,
May 12, 2014, 1:16:20 AM5/12/14
to sai...@googlegroups.com, Raven Duran
Error: Unknown rule: primarykey
    at Object.match (/usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/anchor/lib/match.js:50:9)
    at Anchor.to (/usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/anchor/index.js:76:45)
    at /usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/core/validations.js:137:33
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:116:25
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:24:16
    at /usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/core/validations.js:121:66
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:108:13
    at Array.forEach (native)
    at _each (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:32:24)
    at Object.async.each (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:107:9)
    at validate (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/core/validations.js:119:11)
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:108:13
    at Array.forEach (native)
    at _each (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:32:24)
    at Object.async.each (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:107:9)
    at Validator.validate (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/core/validations.js:149:9)
    at async.series.runner (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/query/validate.js:40:25)
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:548:21
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:224:13
    at iterate (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:131:13)
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:142:25
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:226:17
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:553:34
    at /usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/query/validate.js:34:11
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:139:25
    at /usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/query/validate.js:28:13
    at /usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/utils/schema.js:137:39
    at runner (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/query/validate.js:26:11)
    at iterate (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:131:13)
    at Object.async.eachSeries (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:147:9)
    at async.series.runner (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/query/validate.js:32:15)
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:548:21
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:224:13
    at iterate (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:131:13)
    at async.eachSeries (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:147:9)
    at _asyncMap (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:223:9)
    at Object.mapSeries (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:213:23)
    at Object.async.series (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:546:19)
    at module.exports.validate (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/query/validate.js:21:11)
    at async.series.runner (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/query/dql.js:69:14)
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:548:21
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:224:13
    at iterate (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:131:13)
    at async.eachSeries (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:147:9)
    at _asyncMap (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:223:9)
    at Object.mapSeries (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:213:23)
    at Object.async.series (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:546:19)
    at module.exports.create (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/query/dql.js:65:11)
    at create (/usr/local/lib/node_modules/sails/lib/hooks/controllers/controller.create.js:44:9)
    at _bind.enhancedFn (/usr/local/lib/node_modules/sails/lib/router/bind.js:375:4)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:164:37)
    at param (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:138:11)
    at pass (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:145:5)
    at nextRoute (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:100:7)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:167:11)
    at alwaysAllow (/usr/local/lib/node_modules/sails/lib/hooks/policies/index.js:201:6)
    at _bind.enhancedFn (/usr/local/lib/node_modules/sails/lib/router/bind.js:375:4)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:164:37)
    at param (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:138:11)
    at pass (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:145:5)
    at nextRoute (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:100:7)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:167:11)
    at wrapperFn (/usr/local/lib/node_modules/sails/lib/hooks/controllers/index.js:293:4)
    at _bind.enhancedFn (/usr/local/lib/node_modules/sails/lib/router/bind.js:375:4)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:164:37)
    at param (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:138:11)
    at pass (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:145:5)
    at nextRoute (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:100:7)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:167:11)
    at /usr/local/lib/node_modules/sails/lib/hooks/i18n/index.js:27:13
    at Object.i18nInit [as init] (/usr/local/lib/node_modules/sails/node_modules/i18n/i18n.js:80:5)
    at routes.before./* (/usr/local/lib/node_modules/sails/lib/hooks/i18n/index.js:25:16)
    at _bind.enhancedFn (/usr/local/lib/node_modules/sails/lib/router/bind.js:375:4)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:164:37)
    at param (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:138:11)
    at pass (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:145:5)
    at nextRoute (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:100:7)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:167:11)
    at routes.before./* (/usr/local/lib/node_modules/sails/lib/hooks/csrf/index.js:35:6)
    at _bind.enhancedFn (/usr/local/lib/node_modules/sails/lib/router/bind.js:375:4)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:164:37)
    at param (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:138:11)
    at pass (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:145:5)
    at nextRoute (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:100:7)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:167:11)
    at _addResViewMethod (/usr/local/lib/node_modules/sails/lib/hooks/views/index.js:337:3)
    at _bind.enhancedFn (/usr/local/lib/node_modules/sails/lib/router/bind.js:375:4)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:164:37)
    at param (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:138:11)
    at pass (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:145:5)
    at nextRoute (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:100:7)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:167:11)
    at addSugarMethods (/usr/local/lib/node_modules/sails/lib/hooks/request/index.js:68:6)
    at _bind.enhancedFn (/usr/local/lib/node_modules/sails/lib/router/bind.js:375:4)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:164:37)
    at param (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:138:11)
    at pass (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:145:5)
    at nextRoute (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:100:7)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:167:11)
    at /usr/local/lib/node_modules/sails/node_modules/connect-flash/lib/flash.js:21:5
    at supportFlashMsgs (/usr/local/lib/node_modules/sails/lib/hooks/request/index.js:45:32)
    at _bind.enhancedFn (/usr/local/lib/node_modules/sails/lib/router/bind.js:375:4)
    at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:164:37)
    at param (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:138:11)
    at pass (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:145:5)
    at Router._dispatch (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:173:5)
    at Object.router (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:33:10)
    at next (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/proto.js:190:15)
    at Object.handle (/usr/local/lib/node_modules/sails/lib/express/index.js:168:4)
    at next (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/proto.js:190:15)
    at Object.methodOverride [as handle] (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js:49:5)
    at next (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/proto.js:190:15)
    at /usr/local/lib/node_modules/sails/lib/express/bodyParserRetry.js:46:4
    at multipart (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/multipart.js:85:37)
    at /usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:57:9
    at urlencoded (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/urlencoded.js:49:37)
    at /usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:55:7
    at json (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/json.js:43:37)
    at bodyParser (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:53:5)
    at Object.retryBodyParser [as handle] (/usr/local/lib/node_modules/sails/lib/express/bodyParserRetry.js:36:36)
    at next (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/proto.js:190:15)
    at next (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/proto.js:192:9)
    at multipart (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/multipart.js:85:37)
    at /usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:57:9
    at urlencoded (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/urlencoded.js:49:37)
    at /usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:55:7
    at json (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/json.js:43:37)
    at bodyParser (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:53:5)
    at Object.handle (/usr/local/lib/node_modules/sails/lib/express/index.js:118:12)
    at next (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/proto.js:190:15)
    at next (/usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/session.js:312:9)
    at /usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/session.js:329:9
    at /usr/local/lib/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/session/memory.js:55:7
    at process._tickDomainCallback (node.js:459:13)


On Wednesday, January 29, 2014 4:44:05 AM UTC+8, particlebanana wrote:
Reply all
Reply to author
Forward
0 new messages