defmodule GitGud.Repo.Migrations.CreateSshKeys do
use Ecto.Migration
def change do
create table(:user_ssh_keys) do
add :user_id, references(:users, on_delete: :delete_all), null: false
add :title, :string, null: false, size: 100
# The full public key line as the user pasted it (algorithm + b64 + comment).
add :key, :text, null: false
# MD5/SHA256 fingerprint — for fast lookup from the SSH wrapper.
add :fingerprint, :string, null: false, size: 100
add :last_used_at, :utc_datetime
timestamps(type: :utc_datetime)
end
create unique_index(:user_ssh_keys, [:fingerprint])
create index(:user_ssh_keys, [:user_id])
end
end
696 B · text
5af55d9