Automatically generate UUIDs for your models
After installing bookshelf-uuid
with npm i --save bookshelf-uuid
,
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'))
// Enable it on your models
let User = bookshelf.Model.extend({ tableName: 'users', uuid: true })
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
bookshelf-uuid
generates UUIDs v4 by default, but you can easily switch to
v1 UUIDs or a custom generator.
bookshelf.plugin(require('bookshelf-uuid'), {
type: 'v1' // Or your own function
})
git clone git@github.com:estate/bookshelf-uuid.git
cd bookshelf-uuid && npm install && npm test