crecto
Crecto is no longer actively maintained and does not work with the latest Crystal version.
Crecto
Robust database wrapper for Crystal. Inspired by Ecto for Elixir language.
With built in query composer, associations, transactions, validations, constraints, and more.
Website with guides and examples - https://www.crecto.com/
See api docs - http://docs.crecto.com
Example
user = User.new
user.name = "Shakira"
changeset = Repo.insert(user)
changeset.errors.any?
inserted_user = changeset.instance
inserted_user.name = "Keanu"
changeset = Repo.update(user)
changeset.errors.any?
updated_user = changeset.instance
changeset = Repo.delete(updated_user)
Usage and Guides
Visit www.crecto.com
Benchmarks
Support
Contributing
- Fork it ( https://github.com/fridgerator/crecto/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Development Notes
When developing against crecto, the database must exist prior to testing. There are migrations for each database type in spec/migrations
, and references on how to migrate then in the .travis.yml
file.
Create a new file spec/repo.cr
and create a module name Repo
to use for testing. There are example repos for each database type in the spec folder: travis_pg_repo.cr
, travis_mysql_repo.cr
, and travis_sqlite_repo.cr
When submitting a pull request, please test against all 3 databases.
Thanks / Inspiration
crecto
- 0
- 0
- 0
- 0
- 4
- about 5 years ago
- October 22, 2019
MIT License
Wed, 06 Nov 2024 20:15:50 GMT