awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
elixir-ecto avatar

elixir-ecto/ecto

0
View on GitHub↗
6,471 Stars·1,477 Forks·Elixir·Apache-2.0·2 Aufrufehexdocs.pm/ecto↗

Ecto

Ecto is an Elixir database toolkit that maps database rows to Elixir structs and validates data changes through changesets before persistence. It provides a language-integrated query syntax for composing database queries, building them incrementally and securely with compile-time expansion into safe SQL.

The toolkit connects to multiple database backends including PostgreSQL, MySQL, MSSQL, SQLite3, ClickHouse, and ETS through a pluggable adapter interface. It supports eager and lazy preloading of associated records to eliminate N+1 query problems, and can store nested data structures as embedded columns within parent tables. Changesets provide a pipeline for casting, validating, and tracking field changes before applying them to the database.

Ecto handles full CRUD operations with structured success or error tuples, and includes automated scaffolding for generating database schemas, migrations, and project files. The repository pattern encapsulates database operations behind dedicated modules that return consistent result types.

Features

  • Elixir Database Toolkits - An Elixir library for composing database queries and mapping data to structs with a language-integrated query syntax.
  • Schema Mapping - Maps application structs to database tables with typed fields and defaults.
  • Declarative Struct Mappers - Maps Elixir structs to database tables using declarative field definitions with type casting.
  • Data Validation - Validates and tracks field changes through a pipeline of cast and constraint functions.
  • Data Validation Libraries - Maps database rows to structs and validates changes through changesets before persistence.
  • Database Adapters - Connects to multiple database backends through a pluggable adapter interface.
  • Database Query Builders - Chains operations to compose safe, reusable database queries against multiple backends.
  • Database Record Operations - Creates, reads, updates, and deletes database records with changeset validation and error handling.
  • Database Schema Definitions - Declares database table structures with typed fields and default values for schema management.
  • Struct Mapping - Defines the shape of external data as structs, mapping fields and types for structured access.
  • Multi-Database Connection Configuration - Interacts with PostgreSQL, MySQL, MSSQL, SQLite3, ClickHouse, and ETS through adapters.
  • Repository Patterns - Encapsulates database operations behind repository modules that return structured success or error tuples.
  • Macro-Based Query Builders - Builds database queries by chaining Elixir macros that expand into safe SQL at compile time.
  • Multi-Database Support - Connects to PostgreSQL, MySQL, SQLite, and other databases through a unified adapter interface.
  • Struct-to-Table Mappings - Maps Elixir structs to database tables with typed fields for structured data access.
  • Database Query Chaining - Provides a language-integrated query syntax for chaining database operations together.
  • Changeset Trackers - Filters, casts, and validates field changes before applying them to data.
  • Database Query Security - Builds database queries using composable syntax that prevents SQL injection attacks.
  • N+1 Query Prevention - Fetches associated records eagerly or lazily to eliminate N+1 query problems.
  • Schema and Migration Tools - Generates database schemas, migrations, and project files through automated task runners.
  • Attribute Filtering - Queries for multiple rows that match a given field value using parameterized queries.
  • Eager Loading Strategies - Fetches related records in configurable batches to eliminate N+1 query problems.
  • Primary Key Retrievals - Looks up single database rows using their unique identifier fields.
  • Record Deletion - Removes previously fetched records from the database, returning success or error tuples.
  • Record Insertion - Persists new data by passing a struct or changeset to the repository.
  • All-Record Retrievers - Returns every row of a database table as a list of structs for bulk data access.
  • Record Updating - Fetches a record, applies changes through a changeset, and persists modifications.
  • Single Record Retrievers - Retrieves one database row matching explicit ordering or attribute conditions.
  • Embedded Document Columns - Stores nested data structures as embedded columns within parent database tables.
  • Database Schema Scaffolding - Generates schema definitions and migration files through automated task runners.
  • Database Scaffolders - Scaffolds database schemas, migrations, and project files through automated task runners.
  • Nested Struct Serializers - Stores nested data structures as columns within the parent table using database-native encoding.
  • Databases and Analytics - Database wrapper and query language for Elixir.
  • Databases and ORMs - Database wrapper and language-integrated query framework.
  • Elixir Projects - Listed in the “Elixir Projects” section of the Awesome For Beginners awesome list.

Star-Verlauf

Star-Verlauf für elixir-ecto/ectoStar-Verlauf für elixir-ecto/ecto

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht elixir-ecto/ecto?

Ecto is an Elixir database toolkit that maps database rows to Elixir structs and validates data changes through changesets before persistence. It provides a language-integrated query syntax for composing database queries, building them incrementally and securely with compile-time expansion into safe SQL.

Was sind die Hauptfunktionen von elixir-ecto/ecto?

Die Hauptfunktionen von elixir-ecto/ecto sind: Elixir Database Toolkits, Schema Mapping, Declarative Struct Mappers, Data Validation, Data Validation Libraries, Database Adapters, Database Query Builders, Database Record Operations.

Welche Open-Source-Alternativen gibt es zu elixir-ecto/ecto?

Open-Source-Alternativen zu elixir-ecto/ecto sind unter anderem: go-pg/pg — pg is a PostgreSQL object-relational mapper (ORM) for Go that maps Go structs to database tables and provides a fluent… typeorm/typeorm — TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented… codeigniter4/codeigniter4 — CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web… uptrace/bun — Bun is a type-safe object relational mapper for Go that prioritizes SQL-first query construction and result mapping.… catfan/medoo — Medoo is a lightweight PHP database abstraction layer and SQL query builder. It serves as a minimal database wrapper… answerdotai/fasthtml — FastHTML is a full-stack Python web framework designed for building interactive web applications using pure Python. It…

Open-Source-Alternativen zu Ecto

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Ecto.
  • go-pg/pgAvatar von go-pg

    go-pg/pg

    5,785Auf GitHub ansehen↗

    pg is a PostgreSQL object-relational mapper (ORM) for Go that maps Go structs to database tables and provides a fluent query builder for constructing SQL statements programmatically. At its core, it automatically generates CREATE TABLE statements from Go struct definitions using struct tags and naming conventions, and builds queries through method chaining with placeholder-based parameter binding to prevent SQL injection. The library distinguishes itself through relation-aware join generation that automatically constructs JOIN clauses for has-one, has-many, many-to-many, and polymorphic assoc

    Go
    Auf GitHub ansehen↗5,785
  • typeorm/typeormAvatar von typeorm

    typeorm/typeorm

    36,540Auf GitHub ansehen↗

    TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented application code and relational database tables. It provides a comprehensive data persistence layer that allows developers to define database entities using class decorators or configuration objects, enabling seamless interaction with data through object-oriented patterns. The project distinguishes itself through a flexible architecture that supports both the data mapper and repository patterns, alongside a fluent query builder that translates high-level method calls into platform

    TypeScriptactive-recordcockroachdbdata-mapper
    Auf GitHub ansehen↗36,540
  • codeigniter4/codeigniter4Avatar von codeigniter4

    codeigniter4/CodeIgniter4

    5,924Auf GitHub ansehen↗

    CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools

    PHPcodeignitercodeigniter4framework-php
    Auf GitHub ansehen↗5,924
  • uptrace/bunAvatar von uptrace

    uptrace/bun

    4,867Auf GitHub ansehen↗

    Bun is a type-safe object relational mapper for Go that prioritizes SQL-first query construction and result mapping. It functions as a programmable SQL query builder, a database connection manager, and a tool for mapping database tables to Go structs. The project distinguishes itself through a multi-dialect SQL support system, allowing a single codebase to interact with different database engines via a consistent interface. It includes a built-in database observability tool for query interception, distributed tracing, and logging, as well as a schema migration tool for versioning structural c

    Godatabasegogolang
    Auf GitHub ansehen↗4,867
Alle 30 Alternativen zu Ecto anzeigen→