Alter
Last updated
Last updated
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:
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)
Drop a column on an existing table.
Example:
SchemaBuilder
SQL (MySQL)
Modify an existing column on a table.
Example:
SchemaBuilder
SQL (MySQL)
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)
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)
Drop an existing table constraint.
Example:
SchemaBuilder
SQL (MySQL)
Rename an existing table constraint.
Example:
SchemaBuilder
SQL (MySQL)
Argument
Type
Required
Default
Description
table
string
true
The name of the table to alter.
callback
function
true
A callback function used to define the alterations to the table. It is passed a Blueprint
as the only argument.
options
struct
false
{}
Options to pass to queryExecute
.
execute
boolean
false
true
Run the query immediately after building it.
Argument
Type
Required
Default
Description
column
Column
true
A column object to add to the table.
Argument
Type
Required
Default
Description
name
string
true
The name of the column to drop.
Argument
Type
Required
Default
Description
name
string
true
The name of the column to modify.
column
Column
true
A column object to replace the named column.
Argument
Type
Required
Default
Description
name
string
true
The current name of a column.
column
Column
true
A column object with the new column name and definition.
Argument
Type
Required
Default
Description
constraint
TableIndex
true
The TableIndex
instance to add to the table.
Argument
Type
Required
Default
Description
name
string OR TableIndex
true
The name of the constraint to drop. You can alternatively pass a TableIndex
instance to use the dynamic name generated.
Argument
Type
Required
Default
Description
oldName
string OR TableIndex
true
The old or current name of the constraint to rename. You can alternatively pass a TableIndex
instance to use the dynamic name generated.
newName
string OR TableIndex
true
The new name of the constraint. You can alternatively pass a TableIndex
instance to use the dynamic name generated.