Bookshelf - A simple Node.js ORM for PostgreSQL, MySQL and SQLite3 built on top of Knex.js

  •        55

Bookshelf is a JavaScript ORM for Node.js, built on the Knex SQL query builder. Featuring both promise based and traditional callback interfaces, providing transaction support, eager/nested-eager relation loading, polymorphic associations, and support for one-to-one, one-to-many, and many-to-many relations. It is designed to work well with PostgreSQL, MySQL, and SQLite3.

Bookshelf aims to provide a simple library for common tasks when querying databases in JavaScript, and forming relations between these objects, taking a lot of ideas from the the Data Mapper Pattern.

http://bookshelfjs.org
https://github.com/bookshelf/bookshelf

Tags
Implementation
License
Platform

   




Related Projects

Typeorm - Amazing ORM for TypeScript and JavaScript (ES7, ES6, ES5)


TypeORM is an ORM that can run in NodeJS, Browser, Cordova, PhoneGap and Ionic platforms and can be used with TypeScript and JavaScript (ES5, ES6, ES7). Its goal to always support latest JavaScript features and provide features that help you to develop any kind of applications that use databases - from small applications with a few tables to large scale enterprise applications with multiple databases.

Coolstorage - ORM library for .NET


The main strength of Vici CoolStorage is the ease of use. Most ORM tools still require a lot of unneeded code to accomplish basic data persistence tasks, but Vici CoolStorage is designed to relieve the programmer from these tedious and error-prone tasks, making it very intuitive to use.

Peewee - a small, expressive orm, supports postgresql, mysql and sqlite


Peewee is a simple and small ORM. It has few (but expressive) concepts, making it easy to learn and intuitive to use.For flask helpers, check out the flask_utils extension module. You can also use peewee with the popular extension flask-admin to provide a Django-like admin interface for managing peewee models. It has built-in support for sqlite, mysql and postgresql.

db - Productive data access layer for Go.


The upper.io/db.v3 package for Go is a productive data access layer for Go that provides a common interface to work with different data sources such as PostgreSQL, MySQL, SQLite, MSSQL, QL and MongoDB.Take the tour to see real live examples in your browser.


Diesel - A safe, extensible ORM and Query Builder for Rust


Diesel is the most productive way to interact with databases in Rust because of its safe and composable abstractions over queries. Diesel offers a high level query builder and lets you think about your problems in Rust, not SQL. Its focus on zero-cost abstractions allows Diesel to run your query and load your data even faster than C. Unlike Active Record and other ORMs, Diesel is designed to be abstracted over. Diesel enables you to write reusable code and think in terms of your problem domain and not SQL.

BookShelf


BookShelf is a web application that allows users to create an online list of their book collections.

phpMyFAQ - phpMyFAQ - Open Source FAQ system for PHP and MySQL, PostgreSQL and other databases


phpMyFAQ is a multilingual, completely database-driven FAQ-system. It supports various databases to store all data, PHP 5.6+ is needed in order to access this data. phpMyFAQ also offers a multi-language Content Management System with a WYSIWYG editor and an Image Manager, real time search support with Elasticsearch, flexible multi-user support with user and group based permissions on categories and records, a wiki-like revision feature, a news system, user-tracking, 40+ supported languages, enhanced automatic content negotiation, HTML5/CSS3 based responsive templates, PDF-support, a backup-system, a dynamic sitemap, related FAQs, tagging, RSS feeds, built-in spam protection systems, OpenLDAP and Microsoft Active Directory support, and an easy to use installation script. phpMyFAQ is only supported on PHP 5.6.0 and up, you need a database as well. Supported databases are MySQL, Percona Server, PostgreSQL, Microsoft SQL Server, SQLite3 and MariaDB. If you want to use Elasticsearch as main search engine, you need Elasticsearch 2.x as well. Check our detailed requirements on phpmyfaq.de for more information.

bookshelf - A Promise based Node.js ORM with some Backbone


A Promise based Node.js ORM with some Backbone

RedBeanPHP - Easiest ORM layer for php


RedBeanPHP is an open source ORM (object relational mapping) tool for PHP. It focuses on simplicity and ease of use. What makes RedBean unique is that it creates your database schema on-the-fly. It scans your data and adjusts the column types to fit your object properties. If your models are stabilized you can freeze the database. This way RedBean is easy to develop with but is also extremely fast on production servers.

Propel - smart easy object persistance in PHP


Propel is an open-source Object-Relational Mapping (ORM) for PHP5. It allows you to access your database using a set of objects, providing a simple API for storing and retrieving data. Propel uses PDO as an abstraction layer, and code generation to remove the burden of runtime introspection. Therefore Propel is fast.

jugglingdb - Multi-database ORM for nodejs: redis, mongodb, mysql, sqlite3, postgresql, arango, in-memory


JugglingDB is cross-db ORM for nodejs, providing common interface to access most popular database formats. Currently supported are: mysql, sqlite3, postgres, mongodb, redis and js-memory-storage (yep, self-written engine for test-usage only). You can add your favorite database adapter, checkout one of the existing adapters to learn how. Jugglingdb also works on client-side (using WebService and Memory adapters), which allows to write rich client-side apps talking to server using JSON API.

peewee - a small, expressive orm -- supports postgresql, mysql and sqlite


a small, expressive orm -- supports postgresql, mysql and sqlite

NHibernate - object-relational mapper for .NET


NHibernate is a mature, open source object-relational mapper for the .NET framework. NHibernate is a port of Hibernate Core for Java to the .NET Framework. It handles persisting plain .NET objects to and from an underlying relational database.

rails_metrics - Engine for tracking various metrics related to a Rails 3 application


RailsMetrics is an engine that hooks into your application to listen ActiveSupport::Notifications and show you statistics about them. RailsMetrics uses threads to save those notifications in the database through an in-process Queue. You can see charts based on each request and see what queries, actions, templates rendering, etc. are slow. So far RailsMetrics supports only ActiveRecord as ORM but adding other datastore should be easy (take a look at lib/rails_metrics/orm/active_record.rb). Due to the threaded behavior in RailsMetrics, you cannot use SQLite as database, however MySQL and PostgreSQL work fine.

Objection.js - An SQL-friendly ORM for Node.js


Objection.js is an ORM for Node.js that aims to stay out of your way and make it as easy as possible to use the full power of SQL and the underlying database engine while keeping magic to a minimum.Objection.js is built on an SQL query builder called knex. All databases supported by knex are supported by objection.js. SQLite3, Postgres and MySQL are thoroughly tested.

linq2db - Linq to database provider.


LINQ to DB is the fastest LINQ database access library offering a simple, light, fast, and type-safe layer between your POCO objects and your database.Architecturally it is one step above micro-ORMs like Dapper, Massive, or PetaPoco, in that you work with LINQ expressions, not with magic strings, while maintaining a thin abstraction layer between your code and the database. Your queries are checked by the C# compiler and allow for easy refactoring.

Database Objects - ORM in VB6


The DatabaseObjects library is an open source tool for mapping relation database systems (MySQL, SQL Server, Microsoft Access) to an object-oriented structure. The library can simplify the development and maintenance of small and large systems by providing a mechanism to consolidate business logic, maintain data integrity, increasing productivity and minimise errors.