Ecto.Migrator
This module provides the migration API.
Example
defmodule MyApp.MigrationExample do
use Ecto.Migration
def up do
execute "CREATE TABLE users(id serial PRIMARY_KEY, username text)"
end
def down do
execute "DROP TABLE users"
end
end
Ecto.Migrator.up(Repo, 20080906120000, MyApp.MigrationExample)
Summary↑
down(repo, version, module, opts \\ []) | Runs a down migration on the given repository |
migrated_versions(repo) | Gets all migrated versions |
run(repo, directory, direction, opts) | Apply migrations in a directory to a repository with given strategy |
up(repo, version, module, opts \\ []) | Runs an up migration on the given repository |
Functions
Runs a down migration on the given repository.
Options
:log
- the level to use for logging. Defaults to:info
. Can be any ofLogger.level/0
values orfalse
.
Specs:
- migrated_versions(Ecto.Repo.t) :: [integer]
Gets all migrated versions.
This function ensures the migration table exists if no table has been defined yet.
Specs:
- run(Ecto.Repo.t, binary, atom, Keyword.t) :: [integer]
Apply migrations in a directory to a repository with given strategy.
A strategy must be given as an option.
Options
:all
- runs all available iftrue
:step
- runs the specific number of migrations:to
- runs all until the supplied version is reached:log
- the level to use for logging. Defaults to:info
. Can be any ofLogger.level/0
values orfalse
.
Specs:
- up(Ecto.Repo.t, integer, Module.t, Keyword.t) :: :ok | :already_up | no_return
Runs an up migration on the given repository.
Options
:log
- the level to use for logging. Defaults to:info
. Can be any ofLogger.level/0
values orfalse
.