function DatabaseSchema_sqlite::dropField

Overrides DatabaseSchema::dropField

File

includes/database/sqlite/schema.inc, line 471

Class

DatabaseSchema_sqlite

Code

public function dropField($table, $field) {
    if (!$this->fieldExists($table, $field)) {
        return FALSE;
    }
    $old_schema = $this->introspectSchema($table);
    $new_schema = $old_schema;
    unset($new_schema['fields'][$field]);
    foreach ($new_schema['indexes'] as $index => $fields) {
        foreach ($fields as $key => $field_name) {
            if ($field_name == $field) {
                unset($new_schema['indexes'][$index][$key]);
            }
        }
        // If this index has no more fields then remove it.
        if (empty($new_schema['indexes'][$index])) {
            unset($new_schema['indexes'][$index]);
        }
    }
    $this->alterTable($table, $old_schema, $new_schema);
    return TRUE;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.