From b4c8a43c376f7db22705c70cd719172d58a678e7 Mon Sep 17 00:00:00 2001 From: KKlochko Date: Tue, 4 Jul 2023 21:50:30 +0300 Subject: [PATCH] Add the Link model. --- lib/link_shortener/link.ex | 18 ++++++++++++++++++ .../migrations/20230704184320_create_links.exs | 12 ++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 lib/link_shortener/link.ex create mode 100644 priv/repo/migrations/20230704184320_create_links.exs diff --git a/lib/link_shortener/link.ex b/lib/link_shortener/link.ex new file mode 100644 index 0000000..04a4c9c --- /dev/null +++ b/lib/link_shortener/link.ex @@ -0,0 +1,18 @@ +defmodule LinkShortener.Link do + use Ecto.Schema + import Ecto.Changeset + + schema "links" do + field :name, :string + field :url, :string + + timestamps() + end + + @doc false + def changeset(link, attrs) do + link + |> cast(attrs, [:name, :url]) + |> validate_required([:name, :url]) + end +end diff --git a/priv/repo/migrations/20230704184320_create_links.exs b/priv/repo/migrations/20230704184320_create_links.exs new file mode 100644 index 0000000..e634909 --- /dev/null +++ b/priv/repo/migrations/20230704184320_create_links.exs @@ -0,0 +1,12 @@ +defmodule LinkShortener.Repo.Migrations.CreateLinks do + use Ecto.Migration + + def change do + create table(:links) do + add :name, :string + add :url, :string + + timestamps() + end + end +end