bookshelf-uuid-column
v1.0.0
Published
Automatically generates UUID for your models in a custom column
Downloads
508
Maintainers
Readme
bookshelf-uuid-column
Automatically generate UUIDs for your models and let you choose the column name.
Useful if you are using standard integer primary keys but prefer not to expose these to the public, rather identifying your resources based on an unique ID.
Installation
After installing bookshelf-uuid-column
with npm i --save bookshelf-uuid-column
,
all you need to do is add it as a bookshelf plugin and enable it on your models.
let knex = require('knex')(require('./knexfile.js').development)
let bookshelf = require('bookshelf')(knex)
// Add the plugin
bookshelf.plugin(require('bookshelf-uuid-column'))
// Enable it on your models
let User = bookshelf.Model.extend({ tableName: 'users', uuid: true, uuidAttribute: 'uuid' }) // default uuidAttribute is 'uuid'
Usage
Nothing fancy here, just keep using bookshelf as usual.
// This user is indestructible
let user = yield User.forge({ email: 'foo@bar' }).save()
console.log(user.id) // 6b7a192f-6e1c-4dcb-8e57-14ab16d5fdf4
Settings
bookshelf-uuid-column
generates UUIDs v4 by default, but you can easily switch to
v1 UUIDs or a custom generator.
bookshelf.plugin(require('bookshelf-uuid-column'), {
type: 'v1' // Or your own function
})
Testing
git clone [email protected]:jesobreira/bookshelf-uuid-column.git
cd bookshelf-uuid-column && npm install && npm test