Operaciones básicas CRUD en los siguientes recursos: users
, categories
, y posts
.
GET /users
- fetch all usersPOST /user
- create a new userGET /user/:id
- fetch a single userPUT /user/:id
- update userDELETE /user/:id
- delete user
module.exports = { | |
client : 'mysql', | |
connection : { | |
host : 'database_host', | |
user : 'database_user', | |
password : 'database_password', | |
database : 'database_name', | |
charset : 'utf8', | |
port : database_port | |
} |
var configDB = require('../../knexfile'); | |
var Knex = require('knex')(configDB); | |
var Bookshelf = require('bookshelf')(Knex); | |
module.exports = Bookshelf; |
var Schema = { | |
users : { | |
id : {type : 'increments', nullable: false, primary: true}, | |
email : {type : 'string', maxlength: 254, nullable: false, unique: true}, | |
name : {type : 'string', maxlength: 150, nullable: false}, | |
created_at: {type: 'dateTime', nullable: false}, | |
updated_at: {type: 'dateTime', nullable: true} | |
}, | |
categories: { | |
id: {type: 'increments', nullable: false, primary: true}, |
var Bookshelf = require('../commons/bookshelf'); | |
var Schema = require('../schema/schema'); | |
var sequence = require('when/sequence'); | |
var _ = require('lodash'); | |
function createTable(tableName) { | |
return knex.schema.createTable(tableName, function (table) { | |
var column; |
var Bookshelf = require('../commons/bookshelf'); | |
Bookshelf.plugin('registry'); | |
var Post = require('./post'); | |
var Category = Bookshelf.Model.extend({ | |
tableName: 'categories', | |
hasTimestamps: true, | |
posts : function () { | |
return this.hasMany('Post'); |
var Bookshelf = require('../commons/bookshelf'); | |
Bookshelf.plugin('registry') | |
var Category = require('./category') | |
var Tag = require('./tag') | |
var User = require('./user') | |
var Post = Bookshelf.Model.extend({ | |
tableName: 'posts', |
var Bookshelf = require('../commons/bookshelf'); | |
Bookshelf.plugin('registry'); | |
var Post = require('./post'); | |
var Tag = Bookshelf.Model.extend({ | |
tableName: 'tags', | |
posts : function(){ | |
return this.belongsToMany('Post') | |
} | |
}); |
var Bookshelf = require('../commons/bookshelf'); | |
var User = Bookshelf.Model.extend({ | |
tableName: 'users', | |
hasTimestamps: true | |
}); | |
module.exports = User; |
var Bookshelf = require('../commons/bookshelf'); | |
var Category = require('../models/category'); | |
var Categories = Bookshelf.Collection.extend({ | |
model : Category | |
}); | |
module.exports = Categories; |