Alter
The alter method loads up an existing table in order to make modifications. These modifications may include adding, renaming, or dropping columns and constraints.
To begin altering an existing table, call the alter
method off of the SchemaBuilder
. This method takes a callback as the second parameter that is passed a Blueprint
object, much like the create
method.
Calling multiple methods inside a single
alter
callback creates multiple SQL statements to be executed. qb takes care of this execution for you by default.
The following methods off of Blueprint
let you modify the table inside the callback:
addColumn
Add a new column to an existing table. Takes a Column
instance as the only argument.
Any instance of Column
is valid like those returned by the column methods (integer
, string
, etc.) as well as the column modifier methods (unsigned
, nullable
, etc.).
Example:
SchemaBuilder
SQL (MySQL)
raw
An escape hatch to directly insert any sql in to the statement.
Example:
SchemaBuilder
SQL (MySQL)
dropColumn
Drop a column on an existing table.
Example:
SchemaBuilder
SQL (MySQL)
modifyColumn
Modify an existing column on a table.
Example:
SchemaBuilder
SQL (MySQL)
renameColumn
Rename a column on a table. A full Column
instance is required as the second argument for Grammars that need to redeclare the column definition when renaming.
Example:
SchemaBuilder
SQL (MySQL)
addConstraint
Add an index or key to an existing table. Any TableIndex
instance is valid, like those created by the index methods (unique
, index
, primaryKey
, etc.).
Example:
SchemaBuilder
SQL (MySQL)
dropConstraint
Drop an existing table constraint.
Example:
SchemaBuilder
SQL (MySQL)
dropIndex
Drop an existing index.
Example:
SchemaBuilder
SQL (MySQL)
SQL (SQL Server)
renameConstraint
Rename an existing table constraint.
Example:
SchemaBuilder
SQL (MySQL)
renameTable
Rename an existing table.
Example:
SchemaBuilder
SQL (MySQL)
rename
An alias for renameTable
.
Example:
SchemaBuilder
SQL (MySQL)