Packages
pillar
0.19.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.0
0.34.1
0.34.0
0.33.1
0.33.0
0.32.0
0.31.0
0.30.0
0.29.1
0.29.0
0.28.0
0.27.0
0.26.1
0.26.0
0.25.1
0.25.0
0.24.0
0.23.3
0.23.2
0.23.1
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.2
0.18.1
0.18.0
0.17.3
0.17.2
0.17.1
0.17.0
0.16.2
0.16.1
0.16.0
0.15.0
0.14.0
0.13.1
0.13.0
0.12.0
0.11.0
0.10.0
0.9.1
0.9.0
0.8.1
0.8.0
0.7.0
0.6.0
0.5.1
0.5.0
0.4.0
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.0
Elixir client for ClickHouse, a fast open-source Online Analytical Processing (OLAP) database management system.
Current section
Files
Jump to
Current section
Files
lib/pillar/migrations.ex
defmodule Pillar.Migrations do
@moduledoc """
Migration's mechanism
For generation migration files use task `Mix.Tasks.Pillar.Gen.Migration`
For launching migration define own mix task or release task with code below:
```
conn = Pillar.Connection.new(connection_string)
Pillar.Migrations.migrate(conn)
```
"""
alias Pillar.Connection
alias Pillar.Migrations.Generator
alias Pillar.Migrations.Migrate
alias Pillar.Migrations.Rollback
def generate(name) do
template = Generator.migration_template(name)
with filepath <- Generator.migration_filepath(name),
:ok <- File.mkdir_p!(Path.dirname(filepath)),
:ok <- File.write!(filepath, template) do
filepath
end
end
def migrate(%Connection{} = conn) do
Migrate.run_all_migrations(conn)
end
def rollback(%Connection{} = conn, count_of_migrations \\ 1) do
Rollback.rollback_N_migrations(conn, count_of_migrations)
end
end