def run(self, check_only=False):
reindex = ReIndex().reindex_model<EOL>models = copy.deepcopy(self.models)<EOL>num_models = len(models)<EOL>self.client.create_search_index('<STR_LIT>', '<STR_LIT>', n_val=self.n_val)<EOL>print("<STR_LIT>" % (<EOL>num_models, self.threads))<EOL>exec_models = []<EOL>self.base_thread.do_with_submit(self.find_models_and_delete_search_index, models,<EOL>self.force, exec_models, check_only,<EOL>threads=self.threads)<EOL>if exec_models:<EOL><INDENT>models = copy.deepcopy(exec_models)<EOL>self.creating_schema_and_index(models, self.create_schema)<EOL>self.creating_schema_and_index(models, self.create_index)<EOL>self.base_thread.do_with_submit(reindex, models, threads=self.threads)<EOL><DEDENT>
Args:
    check_only:  do not migrate, only report migration is needed or not if True

Returns: