Adicionando Ecto ao projeto
Adicionando Ecto ao projeto
Temos a página de configuração nesse link. Mas farei a configuração por aqui também. Primeiro precisamos instalar as dependências
ecto_sql -> Wrapper do banco de dados
postgrex -> Adaptador do Ecto para Postgress
Adicione a suas dependencias os dois.
defmodule CoffeeShop.MixProject do
use Mix.Project
def project do
[
app: :coffee_shop,
version: "0.1.0",
elixir: "~> 1.15",
start_permanent: Mix.env() == :prod,
deps: deps()
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [:logger],
mod: {CoffeeShop.Application, []}
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:tesla, "~> 1.4"},
{:bypass, "~> 2.1"},
{:ecto_sql, "~> 3.0"},
{:postgrex, ">= 0.0.0"}
]
end
endDepois basta gerir as dependências
Feito isso, vamos a configuração
Quando instalamos Ecto, ganhamos também alguns geradores que vão nos auxiliar. O comando irá gerar a configuração necessária para nos conectar ao banco de dados.
Ele gerou o arquivo lib/coffee_shop/repo.ex com a configuração para o banco de dados. Também foi adicionadm em config/config.exs a configuração de acesso ao banco. E por fim, nos avisou que precisamos fazer duas coisas:
Adicionar ao supervisor de nossa aplicação o módulo criado
CoffeeShop.RepoAdicionar a configuraçãao em
config/config.exs
Vamos adicionar o supevisor do Ecto ao supervisor de nossa aplicação. Abra lib/coffee_shop/application.ex que criamos para dar suporte a árvore de supervisor e adicione o módulo Repo a lista children.
Com isso temos o Repo como filho de nosso supervisor.
Agora vamos finalizar a configuração, adicionando a configuração de nosso repositório ecto em config/confg.exs
Adicionado a linha 3, temos tudo configurado.
Feito isso, temos o Ecto configurado para nosso banco de dados. Agora vamos criar nosso banco. Tendo a adição do Ecto ao projeto, podemos simplesmente criar nosso banco usando o comando
Nossa aplicação tem suporte a banco de dados postgres. Matamos então mais um passo
Vamos lá.
Atualizado
Isto foi útil?