Current section
Files
Jump to
Current section
Files
doc/Ecto.Entity.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="ExDoc v0.29.4">
<meta name="project" content="ecto_entity v0.1.4">
<title>Ecto.Entity — ecto_entity v0.1.4</title>
<link rel="stylesheet" href="dist/html-elixir-HHVY3JYD.css" />
<script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
<script src="dist/handlebars.templates-XWGFFSCD.js"></script>
<script src="dist/sidebar_items-35F8C836.js"></script>
<script src="docs_config.js"></script>
<script async src="dist/html-JDI3AVDD.js"></script>
</head>
<body data-type="modules" class="page-module">
<script>
try {
var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');
if (settings.theme === 'dark' ||
((settings.theme === 'system' || settings.theme == null) &&
window.matchMedia('(prefers-color-scheme: dark)').matches)
) {
document.body.classList.add('dark')
}
} catch (error) { }
</script>
<div class="main">
<button class="sidebar-button sidebar-toggle" aria-label="toggle sidebar">
<i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
</button>
<section class="sidebar">
<form class="sidebar-search" action="search.html">
<button type="submit" class="search-button" aria-label="Submit Search">
<i class="ri-search-2-line" aria-hidden="true" title="Submit search"></i>
</button>
<button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
<i class="ri-close-line ri-lg" aria-hidden="true" title="Cancel search"></i>
</button>
<label class="search-label">
<p class="sr-only">Search</p>
<input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
</label>
</form>
<div class="autocomplete">
<div class="autocomplete-results">
</div>
</div>
<div class="sidebar-header">
<div class="sidebar-projectDetails">
<a href="readme.html" class="sidebar-projectName" translate="no">
ecto_entity
</a>
<div class="sidebar-projectVersion" translate="no">
v0.1.4
</div>
</div>
<ul class="sidebar-listNav">
<li><a id="extras-list-link" href="#full-list">Pages</a></li>
<li><a id="modules-list-link" href="#full-list">Modules</a></li>
</ul>
</div>
<div class="gradient"></div>
<ul id="full-list"></ul>
</section>
<section class="content">
<output role="status" id="toast"></output>
<div class="content-outer">
<div id="content" class="content-inner">
<h1>
<button class="icon-action display-settings">
<i class="ri-settings-3-line"></i>
<span class="sr-only">Settings</span>
</button>
<a href="https://github.com/kamaroly/ecto_entity/blob/main/lib/entity.ex#L1" title="View Source" class="icon-action" rel="help">
<i class="ri-code-s-slash-line" aria-hidden="true"></i>
<span class="sr-only">View Source</span>
</a>
<span translate="no">Ecto.Entity</span>
<small class="app-vsn" translate="no">(ecto_entity v0.1.4)</small>
</h1>
<section id="moduledoc">
<h1>Entity</h1><p>The missing Elixir Phoenix package to achieve Ecto > 80% common operations with < 20% effort.</p><h1>Introduction</h1><p>Inspired by Laravel-Php Eloquent package, Entity includes injectable functions that makes it enjoyable to interact with your database.
When using Entity, each database table has a corresponding Schema(Model) that is used to interact with that table.
In addition to retrieving records from the database table, Entity allows you to insert, update, and delete records from the table as well.</p><p>The goal of this package is to make it deadly simple to interact with Ecto without having to necessary write custom CRUD operations.</p><h1>Getting Started</h1><p>This guide is an introduction to Entity, the missing Phoenix Ecto package to achieve +80% of common operations
less than 20% of effort it would normally take.
Entity provides a standardized API and a set of abstractions for interacting with database tables, so that your phoenix Elixir developers
can focus on what's specific to your project.</p><p>In this guide, we're going to learn some basics about Entity, such as creating,
reading, updating and destroying records from a database. If you want
to see the code from this guide, you can view it <a href="https://github.com/kamaroly/ecto_entity">at kamaroly/ecto_entity on GitHub</a>.</p><p><strong>This guide will require you to have setup Entity beforehand.</strong></p><h2 id="module-install-entity-in-your-phoenix-elixir-app" class="section-heading">
<a href="#module-install-entity-in-your-phoenix-elixir-app" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
<p class="sr-only">install-entity-in-your-phoenix-elixir-app</p>
</a>
Install Entity in your Phoenix / Elixir App
</h2>
<p>To add Entity to your application, The first step is to add Entity to your <code class="inline">mix.exs</code> file,
which we'll do by changing the <code class="inline">deps</code> definition in that file to this:</p><pre><code class="makeup elixir" translate="no"><span class="w">
</span><span class="kd">defp</span><span class="w"> </span><span class="nf">deps</span><span class="w"> </span><span class="k" data-group-id="3979428057-1">do</span><span class="w">
</span><span class="p" data-group-id="3979428057-2">[</span><span class="w">
</span><span class="p" data-group-id="3979428057-3">{</span><span class="ss">:ecto_entity</span><span class="p">,</span><span class="w"> </span><span class="s">"~> 0.1.0"</span><span class="p" data-group-id="3979428057-3">}</span><span class="w">
</span><span class="p" data-group-id="3979428057-2">]</span><span class="w">
</span><span class="k" data-group-id="3979428057-1">end</span><span class="w">
</span></code></pre><p>Then, to install it, you will run this command:</p><pre><code class="makeup elixir" translate="no"><span class="n">mix</span><span class="w"> </span><span class="n">deps</span><span class="o">.</span><span class="n">get</span></code></pre><p>To start off with, we'll need to include <code class="inline">Entity</code> in our existing Phoenix Schema like the following:</p><pre><code class="makeup elixir" translate="no"><span class="w">
</span><span class="kd">defmodule</span><span class="w"> </span><span class="nc">MyApp.Person</span><span class="w"> </span><span class="k" data-group-id="9647810316-1">do</span><span class="w">
</span><span class="kn">import</span><span class="w"> </span><span class="nc">Ecto.Changeset</span><span class="w">
</span><span class="kn">use</span><span class="w"> </span><span class="nc">Ecto.Schema</span><span class="w">
</span><span class="kn">use</span><span class="w"> </span><span class="nc">Entity</span><span class="w">
</span><span class="n">schema</span><span class="w"> </span><span class="s">"people"</span><span class="w"> </span><span class="k" data-group-id="9647810316-2">do</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:first_name</span><span class="p">,</span><span class="w"> </span><span class="ss">:string</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:last_name</span><span class="p">,</span><span class="w"> </span><span class="ss">:string</span><span class="w">
</span><span class="n">field</span><span class="w"> </span><span class="ss">:age</span><span class="p">,</span><span class="w"> </span><span class="ss">:integer</span><span class="w">
</span><span class="k" data-group-id="9647810316-2">end</span><span class="w">
</span><span class="kd">def</span><span class="w"> </span><span class="nf">changeset</span><span class="p" data-group-id="9647810316-3">(</span><span class="n">entity</span><span class="p">,</span><span class="w"> </span><span class="n">attrs</span><span class="p" data-group-id="9647810316-3">)</span><span class="w"> </span><span class="k" data-group-id="9647810316-4">do</span><span class="w">
</span><span class="n">entity</span><span class="w">
</span><span class="o">|></span><span class="w"> </span><span class="n">cast</span><span class="p" data-group-id="9647810316-5">(</span><span class="n">attrs</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="9647810316-6">[</span><span class="ss">:first_name</span><span class="p">,</span><span class="w"> </span><span class="ss">:last_name</span><span class="p" data-group-id="9647810316-6">]</span><span class="p" data-group-id="9647810316-5">)</span><span class="w">
</span><span class="o">|></span><span class="w"> </span><span class="n">validate_required</span><span class="p" data-group-id="9647810316-7">(</span><span class="p" data-group-id="9647810316-8">[</span><span class="ss">:first_name</span><span class="p">,</span><span class="w"> </span><span class="ss">:last_name</span><span class="p" data-group-id="9647810316-8">]</span><span class="p" data-group-id="9647810316-7">)</span><span class="w">
</span><span class="k" data-group-id="9647810316-4">end</span><span class="w">
</span><span class="k" data-group-id="9647810316-1">end</span></code></pre><h2 id="module-the-create-1-and-insert-1-function" class="section-heading">
<a href="#module-the-create-1-and-insert-1-function" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
<p class="sr-only">the-create-1-and-insert-1-function</p>
</a>
The <code class="inline">create/1</code> and <code class="inline">insert/1</code> function
</h2>
<p>You can use <code class="inline">create</code> or <code class="inline">insert</code> stores a new data entry. Schema module must have changeset method implementedUse the create method,
which accepts an schema of attributes, creates, and inserts it into the database.
The newly created schema will be returned by the create function.</p><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex> </span><span class="nc">Person</span><span class="o">.</span><span class="n">create</span><span class="p" data-group-id="8184832556-1">(</span><span class="p" data-group-id="8184832556-2">%{</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Hand"</span><span class="p">,</span><span class="w"> </span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Turner"</span><span class="p">,</span><span class="w"> </span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p" data-group-id="8184832556-2">}</span><span class="p" data-group-id="8184832556-1">)</span><span class="w">
</span><span class="p" data-group-id="8184832556-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8184832556-4">%</span><span class="nc" data-group-id="8184832556-4">Person</span><span class="p" data-group-id="8184832556-4">{</span><span class="w">
</span><span class="ss">__meta__</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="8184832556-5">#</span><span class="nc" data-group-id="8184832556-5">Ecto.Schema.Metadata</span><span class="p" data-group-id="8184832556-5"><</span><span class="ss">:loaded</span><span class="p">,</span><span class="w"> </span><span class="s">"people"</span><span class="p" data-group-id="8184832556-5">></span><span class="p">,</span><span class="w">
</span><span class="ss">id</span><span class="p">:</span><span class="w"> </span><span class="mi">125</span><span class="p">,</span><span class="w">
</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Hand"</span><span class="p">,</span><span class="w">
</span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Turner"</span><span class="p">,</span><span class="w">
</span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w">
</span><span class="p" data-group-id="8184832556-4">}</span><span class="p" data-group-id="8184832556-3">}</span></code></pre><h2 id="module-reading-methods" class="section-heading">
<a href="#module-reading-methods" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
<p class="sr-only">reading-methods</p>
</a>
Reading methods
</h2>
<h3 id="module-the-find-1-returns-entry-with-id-matching-what-passed" class="section-heading">
<a href="#module-the-find-1-returns-entry-with-id-matching-what-passed" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
<p class="sr-only">the-find-1-returns-entry-with-id-matching-what-passed</p>
</a>
The <code class="inline">find/1</code> returns entry with id matching what passed
</h3>
<pre><code class="makeup elixir" translate="no"><span class="w">
</span><span class="gp unselectable">iex> </span><span class="nc">Person</span><span class="o">.</span><span class="n">find</span><span class="p" data-group-id="3159373508-1">(</span><span class="mi">5</span><span class="p" data-group-id="3159373508-1">)</span><span class="w">
</span><span class="p" data-group-id="3159373508-2">%</span><span class="nc" data-group-id="3159373508-2">Person</span><span class="p" data-group-id="3159373508-2">{</span><span class="w">
</span><span class="ss">__meta__</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3159373508-3">#</span><span class="nc" data-group-id="3159373508-3">Ecto.Schema.Metadata</span><span class="p" data-group-id="3159373508-3"><</span><span class="ss">:loaded</span><span class="p">,</span><span class="w"> </span><span class="s">"people"</span><span class="p" data-group-id="3159373508-3">></span><span class="p">,</span><span class="w">
</span><span class="ss">id</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Kristopher"</span><span class="p">,</span><span class="w">
</span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Keeling"</span><span class="p">,</span><span class="w">
</span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">9</span><span class="w">
</span><span class="p" data-group-id="3159373508-2">}</span></code></pre><h3 id="module-the-all-0-function-to-return-all-table-entries" class="section-heading">
<a href="#module-the-all-0-function-to-return-all-table-entries" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
<p class="sr-only">the-all-0-function-to-return-all-table-entries</p>
</a>
The <code class="inline">all/0</code> function to return all table entries
</h3>
<p>Retrieves all database entries from a schema module</p><pre><code class="makeup elixir" translate="no"><span class="w">
</span><span class="gp unselectable">iex> </span><span class="nc">Person</span><span class="o">.</span><span class="n">all</span><span class="p" data-group-id="8313541658-1">(</span><span class="p" data-group-id="8313541658-1">)</span><span class="w">
</span><span class="p" data-group-id="8313541658-2">[</span><span class="w">
</span><span class="p" data-group-id="8313541658-3">%</span><span class="nc" data-group-id="8313541658-3">Person</span><span class="p" data-group-id="8313541658-3">{</span><span class="w">
</span><span class="ss">__meta__</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="8313541658-4">#</span><span class="nc" data-group-id="8313541658-4">Ecto.Schema.Metadata</span><span class="p" data-group-id="8313541658-4"><</span><span class="ss">:loaded</span><span class="p">,</span><span class="w"> </span><span class="s">"people"</span><span class="p" data-group-id="8313541658-4">></span><span class="p">,</span><span class="w">
</span><span class="ss">id</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"German"</span><span class="p">,</span><span class="w">
</span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"OConnell"</span><span class="p">,</span><span class="w">
</span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w">
</span><span class="p" data-group-id="8313541658-3">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8313541658-5">%</span><span class="nc" data-group-id="8313541658-5">Person</span><span class="p" data-group-id="8313541658-5">{</span><span class="w">
</span><span class="ss">__meta__</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="8313541658-6">#</span><span class="nc" data-group-id="8313541658-6">Ecto.Schema.Metadata</span><span class="p" data-group-id="8313541658-6"><</span><span class="ss">:loaded</span><span class="p">,</span><span class="w"> </span><span class="s">"people"</span><span class="p" data-group-id="8313541658-6">></span><span class="p">,</span><span class="w">
</span><span class="ss">id</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Fritsch"</span><span class="p">,</span><span class="w">
</span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Kassulke"</span><span class="p">,</span><span class="w">
</span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">8</span><span class="w">
</span><span class="p" data-group-id="8313541658-5">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="8313541658-7">%</span><span class="nc" data-group-id="8313541658-7">Person</span><span class="p" data-group-id="8313541658-7">{</span><span class="w">
</span><span class="ss">__meta__</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="8313541658-8">#</span><span class="nc" data-group-id="8313541658-8">Ecto.Schema.Metadata</span><span class="p" data-group-id="8313541658-8"><</span><span class="ss">:loaded</span><span class="p">,</span><span class="w"> </span><span class="s">"people"</span><span class="p" data-group-id="8313541658-8">></span><span class="p">,</span><span class="w">
</span><span class="ss">id</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Russel"</span><span class="p">,</span><span class="w">
</span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Collins"</span><span class="p">,</span><span class="w">
</span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w">
</span><span class="p" data-group-id="8313541658-7">}</span><span class="w">
</span><span class="p" data-group-id="8313541658-2">]</span><span class="w">
</span></code></pre><h3 id="module-the-take-1-function-to-return-x-number-of-records" class="section-heading">
<a href="#module-the-take-1-function-to-return-x-number-of-records" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
<p class="sr-only">the-take-1-function-to-return-x-number-of-records</p>
</a>
The <code class="inline">take/1</code> function to return x number of records
</h3>
<pre><code class="makeup elixir" translate="no"><span class="w">
</span><span class="gp unselectable">iex> </span><span class="nc">Person</span><span class="o">.</span><span class="n">take</span><span class="p" data-group-id="2797159243-1">(</span><span class="mi">2</span><span class="p" data-group-id="2797159243-1">)</span><span class="w">
</span><span class="p" data-group-id="2797159243-2">[</span><span class="w">
</span><span class="p" data-group-id="2797159243-3">%</span><span class="nc" data-group-id="2797159243-3">Person</span><span class="p" data-group-id="2797159243-3">{</span><span class="w">
</span><span class="ss">__meta__</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2797159243-4">#</span><span class="nc" data-group-id="2797159243-4">Ecto.Schema.Metadata</span><span class="p" data-group-id="2797159243-4"><</span><span class="ss">:loaded</span><span class="p">,</span><span class="w"> </span><span class="s">"people"</span><span class="p" data-group-id="2797159243-4">></span><span class="p">,</span><span class="w">
</span><span class="ss">id</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"German"</span><span class="p">,</span><span class="w">
</span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"OConnell"</span><span class="p">,</span><span class="w">
</span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w">
</span><span class="p" data-group-id="2797159243-3">}</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="2797159243-5">%</span><span class="nc" data-group-id="2797159243-5">Person</span><span class="p" data-group-id="2797159243-5">{</span><span class="w">
</span><span class="ss">__meta__</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2797159243-6">#</span><span class="nc" data-group-id="2797159243-6">Ecto.Schema.Metadata</span><span class="p" data-group-id="2797159243-6"><</span><span class="ss">:loaded</span><span class="p">,</span><span class="w"> </span><span class="s">"people"</span><span class="p" data-group-id="2797159243-6">></span><span class="p">,</span><span class="w">
</span><span class="ss">id</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Fritsch"</span><span class="p">,</span><span class="w">
</span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Kassulke"</span><span class="p">,</span><span class="w">
</span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">8</span><span class="w">
</span><span class="p" data-group-id="2797159243-5">}</span><span class="w">
</span><span class="p" data-group-id="2797159243-2">]</span><span class="w">
</span></code></pre><h3 id="module-the-first-0-function-to-return-the-first-table-entry" class="section-heading">
<a href="#module-the-first-0-function-to-return-the-first-table-entry" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
<p class="sr-only">the-first-0-function-to-return-the-first-table-entry</p>
</a>
The <code class="inline">first/0</code> function to return the first table entry
</h3>
<h3 id="module-the-last-0-function-to-return-the-last-table-entry" class="section-heading">
<a href="#module-the-last-0-function-to-return-the-last-table-entry" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
<p class="sr-only">the-last-0-function-to-return-the-last-table-entry</p>
</a>
The <code class="inline">last/0</code> function to return the last table entry
</h3>
<h2 id="module-the-update-2-function" class="section-heading">
<a href="#module-the-update-2-function" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
<p class="sr-only">the-update-2-function</p>
</a>
The <code class="inline">update/2</code> function
</h2>
<h3 id="module-updates-a-table-record-by-id" class="section-heading">
<a href="#module-updates-a-table-record-by-id" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
<p class="sr-only">updates-a-table-record-by-id</p>
</a>
Updates a table record by ID
</h3>
<pre><code class="makeup elixir" translate="no"><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Person</span><span class="o">.</span><span class="n">update</span><span class="p" data-group-id="7940461310-1">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="7940461310-2">%{</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Kamaro"</span><span class="p" data-group-id="7940461310-2">}</span><span class="p" data-group-id="7940461310-1">)</span><span class="w">
</span><span class="gp unselectable">iex> </span><span class="p" data-group-id="7940461310-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="7940461310-4">%</span><span class="nc" data-group-id="7940461310-4">Person</span><span class="p" data-group-id="7940461310-4">{</span><span class="w">
</span><span class="ss">__meta__</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="7940461310-5">#</span><span class="nc" data-group-id="7940461310-5">Ecto.Schema.Metadata</span><span class="p" data-group-id="7940461310-5"><</span><span class="ss">:loaded</span><span class="p">,</span><span class="w"> </span><span class="s">"people"</span><span class="p" data-group-id="7940461310-5">></span><span class="p">,</span><span class="w">
</span><span class="ss">id</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Kamaro"</span><span class="p">,</span><span class="w">
</span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Yundt"</span><span class="p">,</span><span class="w">
</span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">7</span><span class="w">
</span><span class="p" data-group-id="7940461310-4">}</span><span class="p" data-group-id="7940461310-3">}</span><span class="w">
</span></code></pre><h3 id="module-updates-entity-by-its-schema" class="section-heading">
<a href="#module-updates-entity-by-its-schema" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
<p class="sr-only">updates-entity-by-its-schema</p>
</a>
Updates entity by its schema
</h3>
<pre><code class="makeup elixir" translate="no"><span class="w">
</span><span class="gp unselectable">iex(1)> </span><span class="n">person</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Person</span><span class="o">.</span><span class="n">find</span><span class="p" data-group-id="3834351729-1">(</span><span class="mi">1</span><span class="p" data-group-id="3834351729-1">)</span><span class="w">
</span><span class="p" data-group-id="3834351729-2">%</span><span class="nc" data-group-id="3834351729-2">Person</span><span class="p" data-group-id="3834351729-2">{</span><span class="w">
</span><span class="ss">__meta__</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3834351729-3">#</span><span class="nc" data-group-id="3834351729-3">Ecto.Schema.Metadata</span><span class="p" data-group-id="3834351729-3"><</span><span class="ss">:loaded</span><span class="p">,</span><span class="w"> </span><span class="s">"people"</span><span class="p" data-group-id="3834351729-3">></span><span class="p">,</span><span class="w">
</span><span class="ss">id</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Weber"</span><span class="p">,</span><span class="w">
</span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Ok 2"</span><span class="p">,</span><span class="w">
</span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">7</span><span class="w">
</span><span class="p" data-group-id="3834351729-2">}</span><span class="w">
</span><span class="gp unselectable">iex(2)> </span><span class="nc">Person</span><span class="o">.</span><span class="n">update</span><span class="p" data-group-id="3834351729-4">(</span><span class="n">person</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="3834351729-5">%{</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Kamaro"</span><span class="p" data-group-id="3834351729-5">}</span><span class="p" data-group-id="3834351729-4">)</span><span class="w">
</span><span class="p" data-group-id="3834351729-6">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="3834351729-7">%</span><span class="nc" data-group-id="3834351729-7">Person</span><span class="p" data-group-id="3834351729-7">{</span><span class="w">
</span><span class="ss">__meta__</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3834351729-8">#</span><span class="nc" data-group-id="3834351729-8">Ecto.Schema.Metadata</span><span class="p" data-group-id="3834351729-8"><</span><span class="ss">:loaded</span><span class="p">,</span><span class="w"> </span><span class="s">"people"</span><span class="p" data-group-id="3834351729-8">></span><span class="p">,</span><span class="w">
</span><span class="ss">id</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Kamaro"</span><span class="p">,</span><span class="w">
</span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Ok 2"</span><span class="p">,</span><span class="w">
</span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">7</span><span class="w">
</span><span class="p" data-group-id="3834351729-7">}</span><span class="p" data-group-id="3834351729-6">}</span></code></pre><h2 id="module-the-delete-1-and-destroy-functions" class="section-heading">
<a href="#module-the-delete-1-and-destroy-functions" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i>
<p class="sr-only">the-delete-1-and-destroy-functions</p>
</a>
The <code class="inline">delete/1</code> and <code class="inline">destroy/</code> functions
</h2>
<h4><code class="inline">delete</code></h4><pre><code class="makeup elixir" translate="no"><span class="gp unselectable">iex(2)> </span><span class="nc">Person</span><span class="o">.</span><span class="n">delete</span><span class="p" data-group-id="1078583248-1">(</span><span class="mi">7</span><span class="p" data-group-id="1078583248-1">)</span><span class="w">
</span><span class="p" data-group-id="1078583248-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="1078583248-3">%</span><span class="nc" data-group-id="1078583248-3">Person</span><span class="p" data-group-id="1078583248-3">{</span><span class="w">
</span><span class="ss">__meta__</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1078583248-4">#</span><span class="nc" data-group-id="1078583248-4">Ecto.Schema.Metadata</span><span class="p" data-group-id="1078583248-4"><</span><span class="ss">:deleted</span><span class="p">,</span><span class="w"> </span><span class="s">"people"</span><span class="p" data-group-id="1078583248-4">></span><span class="p">,</span><span class="w">
</span><span class="ss">id</span><span class="p">:</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w">
</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Glover"</span><span class="p">,</span><span class="w">
</span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Schimmel"</span><span class="p">,</span><span class="w">
</span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w">
</span><span class="p" data-group-id="1078583248-3">}</span><span class="p" data-group-id="1078583248-2">}</span></code></pre><h4><code class="inline">destroy</code></h4><pre><code class="makeup elixir" translate="no"><span class="w">
</span><span class="gp unselectable">iex(3)> </span><span class="nc">Person</span><span class="o">.</span><span class="n">destroy</span><span class="p" data-group-id="2044461628-1">(</span><span class="mi">2</span><span class="p" data-group-id="2044461628-1">)</span><span class="w">
</span><span class="p" data-group-id="2044461628-2">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w">
</span><span class="p" data-group-id="2044461628-3">%</span><span class="nc" data-group-id="2044461628-3">Person</span><span class="p" data-group-id="2044461628-3">{</span><span class="w">
</span><span class="ss">__meta__</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2044461628-4">#</span><span class="nc" data-group-id="2044461628-4">Ecto.Schema.Metadata</span><span class="p" data-group-id="2044461628-4"><</span><span class="ss">:deleted</span><span class="p">,</span><span class="w"> </span><span class="s">"people"</span><span class="p" data-group-id="2044461628-4">></span><span class="p">,</span><span class="w">
</span><span class="ss">id</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="ss">first_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Ruecker"</span><span class="p">,</span><span class="w">
</span><span class="ss">last_name</span><span class="p">:</span><span class="w"> </span><span class="s">"Lemke"</span><span class="p">,</span><span class="w">
</span><span class="ss">age</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p" data-group-id="2044461628-3">}</span><span class="p" data-group-id="2044461628-2">}</span><span class="w">
</span></code></pre>
</section>
<footer class="footer">
<p>
<span class="line">
<a href="https://hex.pm/packages/ecto_entity/0.1.4" class="footer-hex-package">Hex Package</a>
<a href="https://preview.hex.pm/preview/ecto_entity/0.1.4">Hex Preview</a>
(<a href="https://preview.hex.pm/preview/ecto_entity/0.1.4/show/lib/entity.ex">current file</a>)
</span>
<span class="line">
<button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
Search HexDocs
</button>
<a href="ecto_entity.epub" title="ePub version">
Download ePub version
</a>
</span>
</p>
<p class="built-using">
Built using
<a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.29.4) for the
<a href="https://elixir-lang.org" title="Elixir" target="_blank" translate="no">Elixir programming language</a>
</p>
</footer>
</div>
</div>
</section>
</div>
</body>
</html>