Fresh repository history for elektrine/tarakan hosted at https://git.elektrine.com/elektrine/tarakan.
27 lines
1,012 B
Elixir
27 lines
1,012 B
Elixir
defmodule Tarakan.Repo.Migrations.CreateRepositories do
|
|
use Ecto.Migration
|
|
|
|
def change do
|
|
create table(:repositories) do
|
|
add :host, :string, null: false, default: "github.com"
|
|
add :owner, :string, null: false
|
|
add :name, :string, null: false
|
|
add :canonical_url, :string, null: false
|
|
add :status, :string, null: false, default: "unscanned"
|
|
add :scan_count, :integer, null: false, default: 0
|
|
add :open_findings_count, :integer, null: false, default: 0
|
|
add :verified_findings_count, :integer, null: false, default: 0
|
|
add :last_scanned_at, :utc_datetime_usec
|
|
|
|
timestamps(type: :utc_datetime_usec)
|
|
end
|
|
|
|
create unique_index(:repositories, [:host, :owner, :name])
|
|
create index(:repositories, [:status])
|
|
create index(:repositories, [:last_scanned_at])
|
|
|
|
create constraint(:repositories, :repositories_status_must_be_valid,
|
|
check: "status IN ('unscanned', 'scanning', 'findings', 'clear', 'stale')"
|
|
)
|
|
end
|
|
end
|