Documentation
README
Ecto
Model persistence, compose queries, and keep data access within application boundaries.
Context = Setting That Changes Meaning
Context isn't just a namespaceโit changes what words mean. "Product" means different things in Checkout (SKU, name), Billing (SKU, cost), and Fulfillment (SKU, warehouse). Each bounded context may have its OWN Product schema/table.
Think top-down: Subdomain โ Context โ Entity. Not "What context does Product belong to?" but "What is a Product in this business domain?"
Cross-Context References: IDs, Not Associations
schema "cart_items" do
field :product_id, :integer # Reference by ID
# NOT: belongs_to :product, Catalog.Product
end
Query through the context, not across associations. Keeps contexts independent and testable.
This is the opening of the README. Read the full README on GitHub.