23 lines
846 B
Elixir
23 lines
846 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
|