bookshelf-uuid

Automatically generates UUID for your models

Usage no npm install needed!

<script type="module">
  import bookshelfUuid from 'https://cdn.skypack.dev/bookshelf-uuid';
</script>

README

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