Packages

Implements vote / like / follow functionality for Ecto models. Inspired from Acts as Votable

Current section

Files

Jump to
votex priv templates migration.exs.eex
Raw

priv/templates/migration.exs.eex

defmodule <%= module_prefix %>.Repo.Migrations.Votex do
use Ecto.Migration
def change do
create table("votex_votes") do
add :voter_type, :string, size: 40
add :voter_id, :integer, default: 0
add :votable_type, :string, size: 40
add :votable_id, :integer, default: 0
timestamps()
end
create index("votex_votes", [:voter_type])
create index("votex_votes", [:voter_id])
create index("votex_votes", [:votable_type])
create index("votex_votes", [:votable_id])
create unique_index(:votex_votes,
[:voter_type, :voter_id, :votable_type, :votable_id],
name: :unique_vote)
end
end