crecto

forked from Crecto/crecto
Database wrapper for Crystal, inspired by Ecto

Crecto

crecto

https://www.crecto.com/

Build Status Join the chat at https://gitter.im/crecto/Lobby

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

Buy Me A Coffee

Contributing

  1. Fork it ( https://github.com/fridgerator/crecto/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. 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

Repository

crecto

Owner
Statistic
  • 0
  • 0
  • 0
  • 2
  • 4
  • almost 5 years ago
  • May 14, 2017
License

MIT License

Links
Synced at

Sun, 22 Dec 2024 05:06:21 GMT

Languages