'This function creates the new table which is used in the list_field_to_reference migration.
That new table has a foreign key reference back to the original table.
@param tablename          : name of the new table to which the list field needs to migrated
@param new_list_field     : name of the field in the new table which will hold the content of the list field
@param list_field_name    : name of the list field in the original table
@param table_old_id_field : name of the id field in the original table
@param tablename_old      : name of the original table'

def _create_new_table(self, tablename_new, new_list_field, list_field_name, table_old_id_field, tablename_old):

    db = self.db
    new_field_type = self._map_type_list_field(db[tablename_old][list_field_name].type)
    new_field = Field(new_list_field, new_field_type)
    new_id_field = Field(('%s_%s' % (tablename_old, table_old_id_field)), ('reference    %s' % tablename_old))
    db.define_table(tablename, new_id_field, new_field)
