Name Last Update
..
node_modules/uuid Loading commit data...
test Loading commit data...
.npmignore Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
circle.yml Loading commit data...
index.js Loading commit data...
package.json Loading commit data...

bookshelf-uuid

Build Status Code Climate Test Coverage Version Downloads

Automatically generate UUIDs for your models

Installation

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 })

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 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
})

Testing

git clone git@github.com:estate/bookshelf-uuid.git
cd bookshelf-uuid && npm install && npm test