docs: def run(self):
          """Load all artists into the database
          """
  
          df = ArtistsInputData().load()
  
          # get base model instances, merge ID column via the unique wiki ID
          # (base and derived model instances must have the same ID values)
          base_data = self.client.df_query(self.session.query(models.ArtistBase))
          df = df.merge(base_data, on='wiki_id')
  
          # rename columns
          df.rename(columns={'artistLabel': 'name',
                             'genderLabel': 'gender'},
                    inplace=True)
  
          # columns that exist in the data model
          columns = ['name', 'id']
  
          # the extended model also stores the date of birth and gender
          if config.EXTENDED:
              columns += ['gender', 'year_of_birth']
  
          # keep only columns that exist in the data model
          df = df[columns]
  
          # store everything, done
          df.to_sql(name=models.Artist.__tablename__,
                    con=self.client.engine,
                    if_exists='append',
                    index=False)
  
          self.done()