def loadFields(fileTypeName, schemaFileName):
        """Load specified schema from a .csv."""
        with createApp().app_context():
            sess = GlobalDB.db().session

            # get file type object for specified fileTypeName
            fileType = sess.query(FileType).filter(
                FileType.name == fileTypeName).one()

            # delete existing schema from database
            SchemaLoader.removeColumnsByFileType(sess, fileType)

            # get allowable datatypes
            typeQuery = sess.query(FieldType.name,
                                   FieldType.field_type_id).all()
            types = {type.name: type.field_type_id for type in typeQuery}

            # add schema to database
            with open(schemaFileName, 'rU') as csvfile:
                reader = csv.DictReader(csvfile)
                file_column_count = 0
                for record in reader:
                    record = FieldCleaner.cleanRecord(record)

                    fields = ["fieldname", "required", "data_type"]
                    if all(field in record for field in fields):
                        SchemaLoader.addColumnByFileType(
                            sess, types, fileType,
                            FieldCleaner.cleanString(record["fieldname"]),
                            FieldCleaner.cleanString(
                                record["fieldname_short"]), record["required"],
                            record["data_type"], record["padded_flag"],
                            record["field_length"])
                        file_column_count += 1
                    else:
                        raise ValueError('CSV File does not follow schema')

                sess.commit()
                logger.info('{} {} schema records added to {}'.format(
                    file_column_count, fileTypeName, FileColumn.__tablename__))