Ecto v2.2.10 Ecto.Adapter.Migration behaviour View Source

Specifies the adapter migrations API.

Link to this section Summary

Types

All migration commands

A DDL object is a struct that represents a table or index in a database schema. These database objects can be modified through the use of a Data Definition Language, hence the name DDL object

All commands allowed within the block passed to table/2

Callbacks

Executes migration commands

Checks if the adapter supports ddl transaction

Link to this section Types

Link to this type command() View Source
command() ::
  raw ::
  String.t()
  | {:create, Ecto.Migration.Table.t(), [table_subcommand()]}
  | {:create_if_not_exists, Ecto.Migration.Table.t(), [table_subcommand()]}
  | {:alter, Ecto.Migration.Table.t(), [table_subcommand()]}
  | {:drop, Ecto.Migration.Table.t()}
  | {:drop_if_exists, Ecto.Migration.Table.t()}
  | {:create, Ecto.Migration.Index.t()}
  | {:create_if_not_exists, Ecto.Migration.Index.t()}
  | {:drop, Ecto.Migration.Index.t()}
  | {:drop_if_exists, Ecto.Migration.Index.t()}

All migration commands

A DDL object is a struct that represents a table or index in a database schema. These database objects can be modified through the use of a Data Definition Language, hence the name DDL object.

Link to this type table_subcommand() View Source
table_subcommand() ::
  {:add, field :: atom(), type :: Ecto.Type.t() | Ecto.Migration.Reference.t(),
   Keyword.t()}
  | {:modify, field :: atom(),
     type :: Ecto.Type.t() | Ecto.Migration.Reference.t(), Keyword.t()}
  | {:remove, field :: atom()}

All commands allowed within the block passed to table/2

Link to this section Callbacks

Link to this callback execute_ddl(repo, command, options) View Source
execute_ddl(repo :: Ecto.Repo.t(), command(), options :: Keyword.t()) ::
  :ok | no_return()

Executes migration commands.

Options

  • :timeout - The time in milliseconds to wait for the query call to finish, :infinity will wait indefinitely (default: 15000);
  • :pool_timeout - The time in milliseconds to wait for calls to the pool to finish, :infinity will wait indefinitely (default: 5000);
  • :log - When false, does not log begin/commit/rollback queries
Link to this callback supports_ddl_transaction?() View Source
supports_ddl_transaction?() :: boolean()

Checks if the adapter supports ddl transaction.