code: def run_one(self, name, migrator, fake=True, downgrade=False, force=False):
          
          try:
              migrate, rollback = self.read(name)
              if fake:
                  with mock.patch('peewee.Model.select'):
                      with mock.patch('peewee.Query._execute'):
                          migrate(migrator, self.database, fake=fake)
  
                  if force:
                      self.model.create(name=name)
                      self.logger.info('Done %s', name)
  
                  migrator.clean()
                  return migrator
  
              with self.database.transaction():
                  if not downgrade:
                      self.logger.info('Migrate "%s"', name)
                      migrate(migrator, self.database, fake=fake)
                      migrator.run()
                      self.model.create(name=name)
                  else:
                      self.logger.info('Rolling back %s', name)
                      rollback(migrator, self.database, fake=fake)
                      migrator.run()
                      self.model.delete().where(self.model.name == name).execute()
  
                  self.logger.info('Done %s', name)
  
          except Exception:
              self.database.rollback()
              operation = 'Migration' if not downgrade else 'Rollback'
              self.logger.exception('%s failed: %s', operation, name)
              raise
docs: Run/emulate a migration with given name.