Packages
blossom
0.12.1
0.29.3
0.29.2
0.29.1
0.29.0
0.28.0
0.27.3
0.27.2
0.27.1
0.27.0
0.26.3
0.26.2
0.26.1
0.26.0
0.25.3
0.25.2
0.25.1
0.25.0
0.24.1
0.24.0
0.23.5
0.23.4
0.23.3
0.23.2
0.23.1
0.23.0
0.22.1
0.22.0
0.21.8
0.21.7
0.21.6
0.21.5
0.21.4
0.21.3
0.21.2
0.21.1
0.21.0
0.20.4
0.20.3
0.20.2
0.20.1
0.20.0
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.17.4
0.17.3
0.17.2
0.17.1
0.17.0
0.16.0
0.15.2
0.15.1
0.15.0
0.14.0
0.13.0
0.12.2
0.12.1
0.12.0
0.11.0
0.10.1
0.10.0
0.9.2
0.9.1
0.9.0
0.8.0
0.7.0
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
Easy identity for easy authentication
Current section
Files
Jump to
Current section
Files
lib/blossom/migrations/postgres.ex
defmodule Blossom.Migrations.Postgres do
use Ecto.Migration
alias Blossom.Migrations.Postgres
def change(range, direction) do
for index <- range do
pad_idx = String.pad_leading(Integer.to_string(index), 2, "0")
[__MODULE__, "V#{pad_idx}"]
|> Module.concat()
|> apply(direction, [[]])
end
end
def from_version(opts) do
if opts[:from_version] do
opts[:from_version]
else
0
end
end
def to_version(opts) do
if opts[:to_version] do
opts[:to_version]
else
1
end
end
def up(opts) do
from = Postgres.from_version(opts) + 1
to = Postgres.to_version(opts)
Postgres.change(from..to, :up)
end
def down(opts) do
from = Postgres.from_version(opts)
to = Postgres.to_version(opts) + 1
Postgres.change(from..to//-1, :down)
end
end