https://github.com/upper/bond
Simple database model layer for upper.io/db
https://github.com/upper/bond
Last synced: 9 months ago
JSON representation
Simple database model layer for upper.io/db
- Host: GitHub
- URL: https://github.com/upper/bond
- Owner: upper
- Created: 2015-05-28T23:30:43.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2020-05-14T21:53:40.000Z (over 5 years ago)
- Last Synced: 2024-10-29T20:56:52.699Z (about 1 year ago)
- Language: Go
- Homepage:
- Size: 59.6 KB
- Stars: 15
- Watchers: 6
- Forks: 3
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Bond
Package `bond` (`/bɑnd/`) is a database framework on top of
[upper-db](https://upper.io) which defines a set of hard rules and agreements
on how to work to with SQL databases.
`bond` defines the following concepts:
## Session
* A session represents a database connection pool.
* ...
## Model
* A model is the equivalence between table values and Go values.
* ...
## Store
* A bond store represents the relation between a model and a table, a store
accepts models and commits operations.
* ...
# Requisites
If you want to use bond, your database design must follow a well-defined set of
rules:
* All models require a table with a primary key (composite primary keys are
also OK).
* ...
## Example project
Check out [bond-example-project](https://github.com/upper/bond-example-project)
for a project example.
## License
This project is licensed under the terms of the **MIT License**.
> Copyright (c) 2015-present The upper.io/db authors. All rights reserved.
>
> Permission is hereby granted, free of charge, to any person obtaining
> a copy of this software and associated documentation files (the
> "Software"), to deal in the Software without restriction, including
> without limitation the rights to use, copy, modify, merge, publish,
> distribute, sublicense, and/or sell copies of the Software, and to
> permit persons to whom the Software is furnished to do so, subject to
> the following conditions:
>
> The above copyright notice and this permission notice shall be
> included in all copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.