mobilizon.chapril.org-mobil.../priv/repo/migrations/20190208141700_tags_relatio...

24 lines
857 B
Elixir

defmodule Mobilizon.Repo.Migrations.TagsRelations do
use Ecto.Migration
def up do
create table(:tag_relations, primary_key: false) do
add(:tag_id, references(:tags, on_delete: :delete_all), null: false, primary_key: true)
add(:link_id, references(:tags, on_delete: :delete_all), null: false, primary_key: true)
add(:weight, :integer, null: false, default: 1)
end
create(constraint(:tag_relations, :no_self_loops_check, check: "tag_id <> link_id"))
create(index(:tag_relations, [:tag_id], name: :index_tag_relations_tag_id))
create(index(:tag_relations, [:link_id], name: :index_tag_relations_link_id))
end
def down do
drop(constraint(:tag_relations, :no_self_loops_check))
drop(index(:tag_relations, [:tags_id]))
drop(index(:tag_relations, [:link_id]))
drop(table(:tag_relations))
end
end