30 lines
734 B
Elixir
30 lines
734 B
Elixir
|
defmodule Backend.Repo.Migrations.CreateInstances do
|
||
|
use Ecto.Migration
|
||
|
|
||
|
def change do
|
||
|
create table(:instances) do
|
||
|
add :domain, :string, null: false
|
||
|
add :description, :text
|
||
|
add :user_count, :integer
|
||
|
add :status_count, :integer
|
||
|
add :version, :string
|
||
|
add :insularity, :float
|
||
|
|
||
|
timestamps()
|
||
|
end
|
||
|
|
||
|
create unique_index(:instances, [:domain])
|
||
|
|
||
|
create table(:instance_peers) do
|
||
|
add :source_domain, references(:instances, column: :domain, type: :string)
|
||
|
add :target_domain, references(:instances, column: :domain, type: :string)
|
||
|
|
||
|
add :weight, :float
|
||
|
|
||
|
timestamps()
|
||
|
end
|
||
|
|
||
|
create unique_index(:instance_peers, [:source_domain, :target_domain])
|
||
|
end
|
||
|
end
|