function DatabaseSchema::addField
Add a new field to a table.
Parameters
$table: Name of the table to be altered.
$field: Name of the field to be added.
$spec: The field specification array, as taken from a schema definition. The specification may also contain the key 'initial', the newly created field will be set to the value of the key in all rows. This is most useful for creating NOT NULL columns with no default value in existing tables.
$keys_new: (optional) Keys and indexes specification to be created on the table along with adding the field. The format is the same as a table specification but without the 'fields' element. If you are adding a type 'serial' field, you MUST specify at least one key or index including it in this array. See db_change_field() for more explanation why.
Throws
DatabaseSchemaObjectDoesNotExistException If the specified table doesn't exist.
DatabaseSchemaObjectExistsException If the specified table already has a field by that name.
3 methods override DatabaseSchema::addField()
- DatabaseSchema_mysql::addField in includes/
database/ mysql/ schema.inc - Add a new field to a table.
- DatabaseSchema_pgsql::addField in includes/
database/ pgsql/ schema.inc - Add a new field to a table.
- DatabaseSchema_sqlite::addField in includes/
database/ sqlite/ schema.inc - Add a new field to a table.
File
-
includes/
database/ schema.inc, line 505
Class
- DatabaseSchema
- Base class for database schema definitions.
Code
public abstract function addField($table, $field, $spec, $keys_new = array());
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.