class

Avram::Migrator::CreateIndexStatement

Inherits Avram::Migrator::IndexStatementHelpers < Reference < Object

Builds an SQL statement for creating an index using table name, column name(s), index type and unique flag.

Usage

For a single column:

CreateIndexStatement.new(:users, columns: :email, using: :btree, unique: true).build
# => "CREATE UNIQUE INDEX users_email_index ON users USING btree (email);"

For multiple columns:

CreateIndexStatement.new(:users, columns: [:email, :username], using: :btree, unique: true).build
# => "CREATE UNIQUE INDEX users_email_username_index ON users USING btree (email, username);"

With custom name:

CreateIndexStatement.new(:users, columns: [:email, :username], name: :custom_index_name).build
# => "CREATE INDEX custom_index_name ON users USING btree (email, username);"

Constructors

new(table : TableName, columns : Columns, using : Symbol = :btree, unique : Bool = false, concurrently : Bool = false, name : String | Nil | Symbol | Nil = nil)
Source

Instance methods

build
Source

Nested types