All Projects → Crecto → Crecto

Crecto / Crecto

Licence: mit
Database wrapper and ORM for Crystal, inspired by Ecto

Programming Languages

crystal
512 projects

Projects that are alternatives of or similar to Crecto

Architect
A set of tools which enhances ORMs written in Python with more features
Stars: ✭ 320 (-1.54%)
Mutual labels:  orm, database, mysql, postgres
Grimoire
Database access layer for golang
Stars: ✭ 151 (-53.54%)
Mutual labels:  orm, database, mysql, postgres
Prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite & MongoDB (Preview)
Stars: ✭ 18,168 (+5490.15%)
Mutual labels:  orm, database, mysql, postgres
Sqlboiler
Generate a Go ORM tailored to your database schema.
Stars: ✭ 4,497 (+1283.69%)
Mutual labels:  orm, database, mysql, postgres
Gnorm
A database-first code generator for any language
Stars: ✭ 415 (+27.69%)
Mutual labels:  orm, database, mysql, postgres
Ebean
Ebean ORM
Stars: ✭ 1,172 (+260.62%)
Mutual labels:  orm, database, mysql, postgres
Wetland
A Node.js ORM, mapping-based. Works with MySQL, PostgreSQL, SQLite and more.
Stars: ✭ 261 (-19.69%)
Mutual labels:  orm, database, mysql, postgres
Rel
💎 Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API
Stars: ✭ 317 (-2.46%)
Mutual labels:  orm, database, mysql
Cmd
Command line tools for database operation written by Go, moved to https://gitea.com/xorm/cmd
Stars: ✭ 154 (-52.62%)
Mutual labels:  orm, mysql, postgres
Dbq
Zero boilerplate database operations for Go
Stars: ✭ 273 (-16%)
Mutual labels:  database, mysql, postgres
Nut
Advanced, Powerful and easy to use ORM for Qt
Stars: ✭ 181 (-44.31%)
Mutual labels:  orm, database, mysql
Pg chameleon
MySQL to PostgreSQL replica system
Stars: ✭ 274 (-15.69%)
Mutual labels:  database, mysql, postgres
Sequelizer
A GUI Desktop App for export sequelize models from database automatically.
Stars: ✭ 273 (-16%)
Mutual labels:  orm, database, mysql
Sqlingo
💥 A lightweight DSL & ORM which helps you to write SQL in Go.
Stars: ✭ 142 (-56.31%)
Mutual labels:  orm, database, mysql
Ship Hold
data access framework for Postgresql on nodejs
Stars: ✭ 110 (-66.15%)
Mutual labels:  orm, database, postgres
Pomelo.entityframeworkcore.mysql
Entity Framework Core provider for MySQL and MariaDB built on top of MySqlConnector
Stars: ✭ 2,099 (+545.85%)
Mutual labels:  orm, database, mysql
Node Orm2
Object Relational Mapping
Stars: ✭ 3,063 (+842.46%)
Mutual labels:  orm, database, mysql
Linq2db
Linq to database provider.
Stars: ✭ 2,211 (+580.31%)
Mutual labels:  orm, database, mysql
Clear
Advanced ORM between postgreSQL and Crystal
Stars: ✭ 220 (-32.31%)
Mutual labels:  orm, database, postgres
Db
Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.
Stars: ✭ 2,832 (+771.38%)
Mutual labels:  orm, database, mysql

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

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].