'Adds the column \'name\' to the table \'table_name\'.
Uses the \'field\' paramater, a django.db.models.fields.Field instance,
to generate the necessary sql
@param table_name: The name of the table to add the column to
@param name: The name of the column to add
@param field: The field to use'

@invalidate_table_constraints
def add_column(self, table_name, name, field, keep_default=False):

    self._fix_field_definition(field)
    sql = self.column_sql(table_name, name, field)
    if sql:
        params = (self.quote_name(table_name), sql)
        sql = (self.add_column_string % params)
        self.execute(sql)
        if ((not keep_default) and (field.default is not None)):
            field.default = fields.NOT_PROVIDED
            self.drop_default(table_name, name, field)
