Ecto v2.2.9 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
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
Link to this type
ddl_object()
View Source
ddl_object() :: Ecto.Migration.Table.t() | Ecto.Migration.Index.t()
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.