- DB connections manager
- Query builder
- ORM (alpha)
DBX is a Crystal lang module to query the database, built on top of crystal-db (common API for DB drivers).
DBX is designed in a decoupled way to embed only the necessary features (multi-connections manager, query builder, query executor and ORM).
- 🚀 Guide
- 📘 API doc
- 📑 Spec tests
- Fork it (https://github.com/Nicolab/crystal-dbx/fork).
- Create your feature branch (
git checkout -b my-new-feature
). - See Development.
- Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin my-new-feature
). - Create a new Pull Request.
- You only need Git, Docker and Docker-compose installed on your machine.
- Clone this repo and run
./scripts/prepare
. - Run first
docker-compose up
,- then enter to container
docker-compose exec test_pg bash
(ortest_sqlite
service), - into the container
just dev-spec
.
- then enter to container
- Check the project before committing or pushing, from the host:
./scripts/check
It's just Docker and docker-compose, you can directly type all the commands Docker and docker-compose.
✨ Example:
Terminal 1
# Start the dev stack
docker-compose up
Terminal 2
# enter in the test_pg container
docker-compose exec test_pg bash
# then in the test_pg container
crystal run ./src/app.cr
# or with a recipe (helper)
just dev-spec # <= auto reload when the code change
# recipe list
just --list
Also, quickly:
docker-compose run --rm test_pg crystal spec
- or
docker-compose run --rm test_pg just dev-spec
- when you are done:
docker-compose down --remove-orphans
MIT (c) 2020, Nicolas Talle.
- Nicolas Talle (@Nicolab) - Creator and maintainer.
- Thanks to @ilourt for the feedbacks and thoughts.
- This project is useful to you? Sponsor the developer.