berrypod/priv/repo/migrations/20260301100229_create_dead_links.exs
jamey b235219aee
All checks were successful
deploy / deploy (push) Successful in 3m42s
add dead link monitoring for outgoing content links
Scans page blocks and nav items for broken URLs (internal via DB
lookup, external via HTTP HEAD). Daily Oban cron at 03:30, plus
on-demand checks when pages are saved. Admin UI tab on redirects
page with re-check, ignore, and clickable source links.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 13:00:59 +00:00

21 lines
588 B
Elixir

defmodule Berrypod.Repo.Migrations.CreateDeadLinks do
use Ecto.Migration
def change do
create table(:dead_links, primary_key: false) do
add :id, :binary_id, primary_key: true
add :url, :string, null: false
add :url_type, :string, null: false, default: "external"
add :status, :string, null: false, default: "broken"
add :http_status, :integer
add :error, :string
add :last_checked_at, :utc_datetime, null: false
timestamps()
end
create unique_index(:dead_links, [:url])
create index(:dead_links, [:status])
end
end